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>