Return to fread_error.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / file |
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