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

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

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