Return to fgets_error.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / file |
1.1 misho 1: --TEST-- 2: Test fgets() function : error conditions 3: --FILE-- 4: <?php 5: /* 6: Prototype: string fgets ( resource $handle [, int $length] ); 7: Description: Gets line from file pointer 8: */ 9: 10: echo "*** Testing error conditions ***\n"; 11: // zero argument 12: echo "-- Testing fgets() with zero argument --\n"; 13: var_dump( fgets() ); 14: 15: // more than expected no. of args 16: echo "-- Testing fgets() with more than expected number of arguments --\n"; 17: $fp = fopen(__FILE__, "r"); 18: var_dump( fgets($fp, 10, $fp) ); 19: 20: // invalid length argument 21: echo "-- Testing fgets() with invalid length arguments --\n"; 22: $len = 0; 23: var_dump( fgets($fp, $len) ); 24: $len = -10; 25: var_dump( fgets($fp, $len) ); 26: $len = 1; 27: var_dump( fgets($fp, $len) ); // return length - 1 always, expect false 28: 29: 30: // test invalid arguments : non-resources 31: echo "-- Testing fgets() with invalid arguments --\n"; 32: $invalid_args = array ( 33: "string", 34: 10, 35: 10.5, 36: true, 37: array(1,2,3), 38: new stdclass, 39: ); 40: /* loop to test fgets() with different invalid type of args */ 41: for($loop_counter = 1; $loop_counter <= count($invalid_args); $loop_counter++) { 42: echo "-- Iteration $loop_counter --\n"; 43: var_dump( fgets($invalid_args[$loop_counter - 1], 10) ); 44: } 45: 46: // fgets() on a file handle which is already closed 47: echo "-- Testing fgets() with closed/unset file handle --"; 48: fclose($fp); 49: var_dump(fgets($fp,10)); 50: 51: // fgets() on a file handle which is unset 52: $file_handle = fopen(__FILE__, "r"); 53: unset($file_handle); //unset file handle 54: var_dump( fgets(@$file_handle,10)); 55: 56: echo "Done\n"; 57: ?> 58: --EXPECTF-- 59: *** Testing error conditions *** 60: -- Testing fgets() with zero argument -- 61: 62: Warning: fgets() expects at least 1 parameter, 0 given in %s on line %d 63: bool(false) 64: -- Testing fgets() with more than expected number of arguments -- 65: 66: Warning: fgets() expects at most 2 parameters, 3 given in %s on line %d 67: bool(false) 68: -- Testing fgets() with invalid length arguments -- 69: 70: Warning: fgets(): Length parameter must be greater than 0 in %s on line %d 71: bool(false) 72: 73: Warning: fgets(): Length parameter must be greater than 0 in %s on line %d 74: bool(false) 75: bool(false) 76: -- Testing fgets() with invalid arguments -- 77: -- Iteration 1 -- 78: 79: Warning: fgets() expects parameter 1 to be resource, string given in %s on line %d 80: bool(false) 81: -- Iteration 2 -- 82: 83: Warning: fgets() expects parameter 1 to be resource, integer given in %s on line %d 84: bool(false) 85: -- Iteration 3 -- 86: 87: Warning: fgets() expects parameter 1 to be resource, double given in %s on line %d 88: bool(false) 89: -- Iteration 4 -- 90: 91: Warning: fgets() expects parameter 1 to be resource, boolean given in %s on line %d 92: bool(false) 93: -- Iteration 5 -- 94: 95: Warning: fgets() expects parameter 1 to be resource, array given in %s on line %d 96: bool(false) 97: -- Iteration 6 -- 98: 99: Warning: fgets() expects parameter 1 to be resource, object given in %s on line %d 100: bool(false) 101: -- Testing fgets() with closed/unset file handle -- 102: Warning: fgets(): %d is not a valid stream resource in %s on line %d 103: bool(false) 104: 105: Warning: fgets() expects parameter 1 to be resource, null given in %s on line %d 106: bool(false) 107: Done 108: