Annotation of embedaddon/php/ext/standard/tests/file/fgets_variation1.phpt, revision 1.1.1.2

1.1       misho       1: --TEST--
                      2: Test fgets() function : usage variations - write only modes (Bug #42036)
                      3: --FILE--
                      4: <?php
                      5: /*
                      6:  Prototype: string fgets ( resource $handle [, int $length] );
                      7:  Description: Gets a line from file pointer
                      8: */
                      9: /* try fgets on files which are opened in non readable modes
                     10:     w, wb, wt,
                     11:     a, ab, at,
                     12:     x, xb, xt
                     13: */
                     14: // include the header for common test function 
                     15: include ("file.inc");
                     16: 
                     17: echo "*** Testing fgets() with file opened in write only mode ***\n";
                     18: 
                     19: $file_modes = array("w", "wb", "wt", "a", "ab", "at", "x", "xb", "xt");
                     20: $filename = dirname(__FILE__)."/fgets_variation1.tmp";
                     21: foreach ($file_modes as $file_mode ) {
                     22:   echo "-- File opened in mode : $file_mode --\n";
                     23: 
                     24:   $file_handle = fopen($filename, $file_mode);
                     25:   if(!$file_handle) {
                     26:     echo "Error: failed to open file $filename!\n";
                     27:     exit();
                     28:   }
                     29:   $data = "fgets_variation test";
                     30:   fwrite($file_handle, $data);
                     31: 
1.1.1.2 ! misho      32:   // rewind the file pointer to beginning of the file
1.1       misho      33:   var_dump( rewind($file_handle) ); 
                     34:   var_dump( ftell($file_handle) ); 
                     35:   var_dump( feof($file_handle) );
                     36: 
                     37:   // read from file
                     38:   var_dump( fgets($file_handle) ); // expected : no chars should be read
                     39:   var_dump( ftell($file_handle) ); // ensure that file pointer position is not changed
                     40:   var_dump( feof($file_handle) ); // check if end of file pointer is set
                     41: 
                     42:   // close the file
                     43:   fclose($file_handle);
                     44: 
                     45:   // delete the file
                     46:   unlink($filename); 
                     47: }
                     48: 
                     49: echo "Done\n";
                     50: ?>
                     51: --EXPECTF--
                     52: *** Testing fgets() with file opened in write only mode ***
                     53: -- File opened in mode : w --
                     54: bool(true)
                     55: int(0)
                     56: bool(false)
                     57: bool(false)
                     58: int(0)
                     59: bool(false)
                     60: -- File opened in mode : wb --
                     61: bool(true)
                     62: int(0)
                     63: bool(false)
                     64: bool(false)
                     65: int(0)
                     66: bool(false)
                     67: -- File opened in mode : wt --
                     68: bool(true)
                     69: int(0)
                     70: bool(false)
                     71: bool(false)
                     72: int(0)
                     73: bool(false)
                     74: -- File opened in mode : a --
                     75: bool(true)
                     76: int(0)
                     77: bool(false)
                     78: bool(false)
                     79: int(0)
                     80: bool(false)
                     81: -- File opened in mode : ab --
                     82: bool(true)
                     83: int(0)
                     84: bool(false)
                     85: bool(false)
                     86: int(0)
                     87: bool(false)
                     88: -- File opened in mode : at --
                     89: bool(true)
                     90: int(0)
                     91: bool(false)
                     92: bool(false)
                     93: int(0)
                     94: bool(false)
                     95: -- File opened in mode : x --
                     96: bool(true)
                     97: int(0)
                     98: bool(false)
                     99: bool(false)
                    100: int(0)
                    101: bool(false)
                    102: -- File opened in mode : xb --
                    103: bool(true)
                    104: int(0)
                    105: bool(false)
                    106: bool(false)
                    107: int(0)
                    108: bool(false)
                    109: -- File opened in mode : xt --
                    110: bool(true)
                    111: int(0)
                    112: bool(false)
                    113: bool(false)
                    114: int(0)
                    115: bool(false)
                    116: Done

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