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

1.1       misho       1: --TEST--
                      2: Test fopen, fclose() & feof() functions: error conditions
                      3: --CREDITS--
                      4: Dave Kelsey <d_kelsey@uk.ibm.com>
                      5: --FILE--
                      6: <?php
                      7: /*
                      8:  Prototype: resource fopen(string $filename, string $mode
                      9:                             [, bool $use_include_path [, resource $context]] );
                     10:  Description: Opens file or URL.
                     11: 
                     12:  Prototype: bool fclose ( resource $handle );
                     13:  Description: Closes an open file pointer
                     14: 
                     15:  Prototype: bool feof ( resource $handle )
                     16:  Description: Returns TRUE if the file pointer is at EOF or an error occurs 
                     17:    (including socket timeout); otherwise returns FALSE. 
                     18: */
                     19: 
                     20: echo "*** Testing error conditions for fopen(), fclsoe() & feof() ***\n";
                     21: /* Arguments less than minimum no.of args */
                     22: 
                     23: // fopen ()
                     24: var_dump(fopen(__FILE__)); // one valid argument
                     25: var_dump(fopen());  // zero argument
                     26: 
                     27: // fclose()
                     28: $fp = fopen(__FILE__, "r");
                     29: fclose($fp);
                     30: var_dump( fclose($fp) ); // closed handle
                     31: var_dump( fclose(__FILE__) ); // invalid handle
                     32: var_dump( fclose() ); // zero argument 
                     33: 
                     34: //feof()
                     35: var_dump( feof($fp) );  // closed handle
                     36: var_dump( feof(__FILE__) );  // invalid handle
                     37: var_dump( feof() );  //zero argument
                     38: 
                     39: /* Arguments greater than maximum no.of ags */
                     40: var_dump(fopen(__FILE__, "r", TRUE, "www.example.com", 100));
                     41: 
                     42: $fp = fopen(__FILE__, "r");
                     43: var_dump( fclose($fp, "handle") );
                     44: 
                     45: var_dump( feof($fp, "handle"));
                     46: fclose($fp);
                     47: 
                     48: /* test invalid arguments : non-resources */
                     49: echo "-- Testing fopen(), fclose() & feof() with invalid arguments --\n";
                     50: $invalid_args = array (
                     51:   "string",
                     52:   10,
                     53:   10.5,
                     54:   true,
                     55:   array(1,2,3),
                     56:   new stdclass,
                     57:   NULL,
                     58:   ""
                     59: );
                     60: 
                     61: /* loop to test fclose with different invalid type of args */
                     62: for($loop_counter = 1; $loop_counter <= count($invalid_args); $loop_counter++) {
                     63:   echo "-- Iteration $loop_counter --\n";
                     64:   var_dump( fopen($invalid_args[$loop_counter - 1], "r") );
                     65:   var_dump( fclose($invalid_args[$loop_counter - 1]) );
                     66:   var_dump( feof($invalid_args[$loop_counter - 1]) );
                     67: }
                     68: 
                     69: ?>
                     70: --EXPECTF--
                     71: *** Testing error conditions for fopen(), fclsoe() & feof() ***
                     72: 
                     73: Warning: fopen() expects at least 2 parameters, 1 given in %s on line %d
                     74: bool(false)
                     75: 
                     76: Warning: fopen() expects at least 2 parameters, 0 given in %s on line %d
                     77: bool(false)
                     78: 
                     79: Warning: fclose(): 5 is not a valid stream resource in %s on line %d
                     80: bool(false)
                     81: 
                     82: Warning: fclose() expects parameter 1 to be resource, string given in %s on line %d
                     83: bool(false)
                     84: 
                     85: Warning: fclose() expects exactly 1 parameter, 0 given in %s on line %d
                     86: bool(false)
                     87: 
                     88: Warning: feof(): 5 is not a valid stream resource in %s on line %d
                     89: bool(false)
                     90: 
                     91: Warning: feof() expects parameter 1 to be resource, string given in %s on line %d
                     92: bool(false)
                     93: 
                     94: Warning: feof() expects exactly 1 parameter, 0 given in %s on line %d
                     95: bool(false)
                     96: 
                     97: Warning: fopen() expects at most 4 parameters, 5 given in %s on line %d
                     98: bool(false)
                     99: 
                    100: Warning: fclose() expects exactly 1 parameter, 2 given in %s on line %d
                    101: bool(false)
                    102: 
                    103: Warning: feof() expects exactly 1 parameter, 2 given in %s on line %d
                    104: bool(false)
                    105: -- Testing fopen(), fclose() & feof() with invalid arguments --
                    106: -- Iteration 1 --
                    107: 
                    108: Warning: fopen(string): failed to open stream: No such file or directory in %s on line %d
                    109: bool(false)
                    110: 
                    111: Warning: fclose() expects parameter 1 to be resource, string given in %s on line %d
                    112: bool(false)
                    113: 
                    114: Warning: feof() expects parameter 1 to be resource, string given in %s on line %d
                    115: bool(false)
                    116: -- Iteration 2 --
                    117: 
                    118: Warning: fopen(10): failed to open stream: No such file or directory in %s on line %d
                    119: bool(false)
                    120: 
                    121: Warning: fclose() expects parameter 1 to be resource, integer given in %s on line %d
                    122: bool(false)
                    123: 
                    124: Warning: feof() expects parameter 1 to be resource, integer given in %s on line %d
                    125: bool(false)
                    126: -- Iteration 3 --
                    127: 
                    128: Warning: fopen(10.5): failed to open stream: No such file or directory in %s on line %d
                    129: bool(false)
                    130: 
                    131: Warning: fclose() expects parameter 1 to be resource, double given in %s on line %d
                    132: bool(false)
                    133: 
                    134: Warning: feof() expects parameter 1 to be resource, double given in %s on line %d
                    135: bool(false)
                    136: -- Iteration 4 --
                    137: 
                    138: Warning: fopen(1): failed to open stream: No such file or directory in %s on line %d
                    139: bool(false)
                    140: 
                    141: Warning: fclose() expects parameter 1 to be resource, boolean given in %s on line %d
                    142: bool(false)
                    143: 
                    144: Warning: feof() expects parameter 1 to be resource, boolean given in %s on line %d
                    145: bool(false)
                    146: -- Iteration 5 --
                    147: 
                    148: Warning: fopen() expects parameter 1 to be string, array given in %s on line %d
                    149: bool(false)
                    150: 
                    151: Warning: fclose() expects parameter 1 to be resource, array given in %s on line %d
                    152: bool(false)
                    153: 
                    154: Warning: feof() expects parameter 1 to be resource, array given in %s on line %d
                    155: bool(false)
                    156: -- Iteration 6 --
                    157: 
                    158: Warning: fopen() expects parameter 1 to be string, object given in %s on line %d
                    159: bool(false)
                    160: 
                    161: Warning: fclose() expects parameter 1 to be resource, object given in %s on line %d
                    162: bool(false)
                    163: 
                    164: Warning: feof() expects parameter 1 to be resource, object given in %s on line %d
                    165: bool(false)
                    166: -- Iteration 7 --
                    167: 
                    168: Warning: fopen(): Filename cannot be empty in %s on line %d
                    169: bool(false)
                    170: 
                    171: Warning: fclose() expects parameter 1 to be resource, null given in %s on line %d
                    172: bool(false)
                    173: 
                    174: Warning: feof() expects parameter 1 to be resource, null given in %s on line %d
                    175: bool(false)
                    176: -- Iteration 8 --
                    177: 
                    178: Warning: fopen(): Filename cannot be empty in %s on line %d
                    179: bool(false)
                    180: 
                    181: Warning: fclose() expects parameter 1 to be resource, string given in %s on line %d
                    182: bool(false)
                    183: 
                    184: Warning: feof() expects parameter 1 to be resource, string given in %s on line %d
                    185: bool(false)

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