Annotation of embedaddon/php/ext/standard/tests/file/fread_error.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Test fread() function : error conditions
                      3: --FILE--
                      4: <?php
                      5: /*
                      6:  Prototype: string fread ( resource $handle [, int $length] );
                      7:  Description: reads up to length bytes from the file pointer referenced by handle. 
                      8:    Reading stops when up to length bytes have been read, EOF (end of file) is 
                      9:    reached, (for network streams) when a packet becomes available, or (after 
                     10:    opening userspace stream) when 8192 bytes have been read whichever comes first.
                     11: */
                     12: 
                     13: echo "*** Testing error conditions ***\n";
                     14: $filename = __FILE__; 
                     15: $file_handle = fopen($filename, "r");
                     16: 
                     17: // zero argument
                     18: echo "-- Testing fread() with zero argument --\n";
                     19: var_dump( fread() );
                     20: 
                     21: // more than expected no. of args
                     22: echo "-- Testing fread() with more than expected number of arguments --\n";
                     23: var_dump( fread($file_handle, 10, $file_handle) );
                     24: 
                     25: // invalid length argument 
                     26: echo "-- Testing fread() with invalid length arguments --\n";
                     27: $len = 0; 
                     28: var_dump( fread($file_handle, $len) );
                     29: $len = -10;
                     30: var_dump( fread($file_handle, $len) );
                     31: 
                     32: // test invalid arguments : non-resources
                     33: echo "-- Testing fread() with invalid arguments --\n";
                     34: $invalid_args = array (
                     35:   "string",
                     36:   10,
                     37:   10.5,
                     38:   true,
                     39:   array(1,2,3),
                     40:   new stdclass,
                     41: );
                     42: /* loop to test fread() with different invalid type of args */
                     43: for($loop_counter = 1; $loop_counter <= count($invalid_args); $loop_counter++) {
                     44:   echo "-- Iteration $loop_counter --\n";
                     45:   var_dump( fread($invalid_args[$loop_counter - 1], 10) );
                     46: }
                     47: 
                     48: // fwrite() on a file handle which is already closed
                     49: echo "-- Testing fwrite() with closed/unset file handle --\n";
                     50: fclose($file_handle);
                     51: var_dump( fread($file_handle,$file_content_type) );
                     52: 
                     53: // fwrite on a file handle which is unset
                     54: $fp = fopen($filename, "r");
                     55: unset($fp); //unset file handle
                     56: var_dump( fread(@$fp,10) );
                     57: var_dump( fclose(@$fp) );
                     58: 
                     59: echo "Done\n";
                     60: --EXPECTF--
                     61: *** Testing error conditions ***
                     62: -- Testing fread() with zero argument --
                     63: 
                     64: Warning: fread() expects exactly 2 parameters, 0 given in %s on line %d
                     65: bool(false)
                     66: -- Testing fread() with more than expected number of arguments --
                     67: 
                     68: Warning: fread() expects exactly 2 parameters, 3 given in %s on line %d
                     69: bool(false)
                     70: -- Testing fread() with invalid length arguments --
                     71: 
                     72: Warning: fread(): Length parameter must be greater than 0 in %s on line %d
                     73: bool(false)
                     74: 
                     75: Warning: fread(): Length parameter must be greater than 0 in %s on line %d
                     76: bool(false)
                     77: -- Testing fread() with invalid arguments --
                     78: -- Iteration 1 --
                     79: 
                     80: Warning: fread() expects parameter 1 to be resource, string given in %s on line %d
                     81: bool(false)
                     82: -- Iteration 2 --
                     83: 
                     84: Warning: fread() expects parameter 1 to be resource, integer given in %s on line %d
                     85: bool(false)
                     86: -- Iteration 3 --
                     87: 
                     88: Warning: fread() expects parameter 1 to be resource, double given in %s on line %d
                     89: bool(false)
                     90: -- Iteration 4 --
                     91: 
                     92: Warning: fread() expects parameter 1 to be resource, boolean given in %s on line %d
                     93: bool(false)
                     94: -- Iteration 5 --
                     95: 
                     96: Warning: fread() expects parameter 1 to be resource, array given in %s on line %d
                     97: bool(false)
                     98: -- Iteration 6 --
                     99: 
                    100: Warning: fread() expects parameter 1 to be resource, object given in %s on line %d
                    101: bool(false)
                    102: -- Testing fwrite() with closed/unset file handle --
                    103: 
                    104: Notice: Undefined variable: file_content_type in %s on line %d
                    105: 
                    106: Warning: fread(): %d is not a valid stream resource in %s on line %d
                    107: bool(false)
                    108: 
                    109: Warning: fread() expects parameter 1 to be resource, null given in %s on line %d
                    110: bool(false)
                    111: 
                    112: Warning: fclose() expects parameter 1 to be resource, null given in %s on line %d
                    113: bool(false)
                    114: Done

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>