Annotation of embedaddon/php/ext/standard/tests/file/fgetc_variation1.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test fgetc() function : usage variations - read when file pointer at EOF
3: --FILE--
4: <?php
5: /*
6: Prototype: string fgetc ( resource $handle );
7: Description: Gets character from file pointer
8: */
9: // include the header for common test function
10: include ("file.inc");
11:
12: echo "*** Testing fgetc() : usage variations ***\n";
13: echo "-- Testing fgetc() with file whose file pointer is pointing to EOF --\n";
14: // create a file
15: create_files(dirname(__FILE__), 1, "text_with_new_line", 0755, 1, "w", "fgetc_variation");
16:
17: $filename = dirname(__FILE__)."/fgetc_variation1.tmp";
18:
19: // loop to check the file opened in different read modes
20: $file_modes = array("r", "rb", "rt", "r+", "r+b", "r+t");
21: $loop_counter =0;
22: for(; $loop_counter < count($file_modes); $loop_counter++) {
23: // print the hearder
24: echo "-- File opened in mode : $file_modes[$loop_counter] --\n";
25: // open the file
26: $file_handle = fopen ($filename, $file_modes[$loop_counter]);
27: if (!$file_handle) {
28: echo "Error: failed to open file $filename! \n";
29: exit();
30: }
31:
32: // seek to end of the file and try fgetc()
33: var_dump( fseek($file_handle, 0, SEEK_END) ); // set file pointer to eof
34: var_dump( feof($file_handle) ); // expected false
35: var_dump( ftell($file_handle) ); // ensure that file pointer is at eof
36: var_dump( fgetc($file_handle) ); // try n read a char, none expected
37: var_dump( feof($file_handle) ); // ensure thta file pointer is at eof
38: var_dump( ftell($file_handle) ); // file pointer position
39:
40: // close the file handle
41: fclose($file_handle);
42: }
43: echo "Done\n";
44: ?>
45: --CLEAN--
46: <?php
47: unlink( dirname(__FILE__)."/fgetc_variation1.tmp");
48: ?>
49: --EXPECTF--
50: *** Testing fgetc() : usage variations ***
51: -- Testing fgetc() with file whose file pointer is pointing to EOF --
52: -- File opened in mode : r --
53: int(0)
54: bool(false)
55: int(1024)
56: bool(false)
57: bool(true)
58: int(1024)
59: -- File opened in mode : rb --
60: int(0)
61: bool(false)
62: int(1024)
63: bool(false)
64: bool(true)
65: int(1024)
66: -- File opened in mode : rt --
67: int(0)
68: bool(false)
69: int(1024)
70: bool(false)
71: bool(true)
72: int(1024)
73: -- File opened in mode : r+ --
74: int(0)
75: bool(false)
76: int(1024)
77: bool(false)
78: bool(true)
79: int(1024)
80: -- File opened in mode : r+b --
81: int(0)
82: bool(false)
83: int(1024)
84: bool(false)
85: bool(true)
86: int(1024)
87: -- File opened in mode : r+t --
88: int(0)
89: bool(false)
90: int(1024)
91: bool(false)
92: bool(true)
93: int(1024)
94: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>