Annotation of embedaddon/php/ext/standard/tests/dir/opendir_variation1-win32.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test opendir() function : usage variations - different data types as $path arg
3: --SKIPIF--
4: <?php
5: if (substr(PHP_OS, 0, 3) != 'WIN') {
6: die("skip Valid only on Windows");
7: }
8: ?>
9: --FILE--
10: <?php
11: /* Prototype : mixed opendir(string $path[, resource $context])
12: * Description: Open a directory and return a dir_handle
13: * Source code: ext/standard/dir.c
14: */
15:
16: /*
17: * Pass different data types as $path argument to opendir() to test behaviour
18: * Where possible, an existing directory has been entered as a string value
19: */
20:
21: echo "*** Testing opendir() : usage variations ***\n";
22:
23: // create directory to be passed as string value where possible
24: $path = dirname(__FILE__) . "/opendir_variation1";
25: mkdir($path);
26:
27: //get an unset variable
28: $unset_var = 10;
29: unset ($unset_var);
30:
31: // get a class
32: class classA {
33:
34: var $path;
35: function __construct($path) {
36: $this->path = $path;
37: }
38: public function __toString() {
39: return $this->path;
40: }
41: }
42:
43: // heredoc string
44: $heredoc = <<<EOT
45: $path
46: EOT;
47:
48: // get a resource variable
49: $fp = fopen(__FILE__, "r");
50:
51: // unexpected values to be passed to $path argument
52: $inputs = array(
53:
54: // int data
55: /*1*/ 0,
56: 1,
57: 12345,
58: -2345,
59:
60: // float data
61: /*5*/ 10.5,
62: -10.5,
63: 12.3456789000e10,
64: 12.3456789000E-10,
65: .5,
66:
67: // null data
68: /*10*/ NULL,
69: null,
70:
71: // boolean data
72: /*12*/ true,
73: false,
74: TRUE,
75: FALSE,
76:
77: // empty data
78: /*16*/ "",
79: '',
80: array(),
81:
82: // string data
83: /*19*/ "$path",
84: 'string',
85: $heredoc,
86:
87: // object data
88: /*22*/ new classA($path),
89:
90: // undefined data
91: /*23*/ @$undefined_var,
92:
93: // unset data
94: /*24*/ @$unset_var,
95:
96: // resource variable
97: /*25*/ $fp
98: );
99:
100: // loop through each element of $inputs to check the behavior of opendir()
101: $iterator = 1;
102: foreach($inputs as $input) {
103: echo "\n-- Iteration $iterator --\n";
104: var_dump( $dh = opendir($input) );
105: if ($dh) {
106: closedir($dh);
107: }
108: $iterator++;
109: };
110:
111: fclose($fp);
112: ?>
113: ===DONE===
114: --CLEAN--
115: <?php
116: $path = dirname(__FILE__) . "/opendir_variation1";
117: rmdir($path);
118: ?>
119: --EXPECTF--
120: *** Testing opendir() : usage variations ***
121:
122: -- Iteration 1 --
123:
124: Warning: opendir(0,0): The system cannot find the file specified. (code: 2) in %s on line %d
125:
126: Warning: opendir(0): failed to open dir: %s in %s on line %d
127: bool(false)
128:
129: -- Iteration 2 --
130:
131: Warning: opendir(1,1): The system cannot find the file specified. (code: 2) in %s on line %d
132:
133: Warning: opendir(1): failed to open dir: %s in %s on line %d
134: bool(false)
135:
136: -- Iteration 3 --
137:
138: Warning: opendir(12345,12345): The system cannot find the file specified. (code: 2) in %s on line %d
139:
140: Warning: opendir(12345): failed to open dir: %s in %s on line %d
141: bool(false)
142:
143: -- Iteration 4 --
144:
145: Warning: opendir(-2345,-2345): The system cannot find the file specified. (code: 2) in %s on line %d
146:
147: Warning: opendir(-2345): failed to open dir: %s in %s on line %d
148: bool(false)
149:
150: -- Iteration 5 --
151:
152: Warning: opendir(10.5,10.5): The system cannot find the file specified. (code: 2) in %s on line %d
153:
154: Warning: opendir(10.5): failed to open dir: %s in %s on line %d
155: bool(false)
156:
157: -- Iteration 6 --
158:
159: Warning: opendir(-10.5,-10.5): The system cannot find the file specified. (code: 2) in %s on line %d
160:
161: Warning: opendir(-10.5): failed to open dir: %s in %s on line %d
162: bool(false)
163:
164: -- Iteration 7 --
165:
166: Warning: opendir(123456789000,123456789000): The system cannot find the file specified. (code: 2) in %s on line %d
167:
168: Warning: opendir(123456789000): failed to open dir: %s in %s on line %d
169: bool(false)
170:
171: -- Iteration 8 --
172:
173: Warning: opendir(1.23456789E-9,1.23456789E-9): The system cannot find the file specified. (code: 2) in %s on line %d
174:
175: Warning: opendir(1.23456789E-9): failed to open dir: %s in %s on line %d
176: bool(false)
177:
178: -- Iteration 9 --
179:
180: Warning: opendir(0.5,0.5): The system cannot find the file specified. (code: 2) in %s on line %d
181:
182: Warning: opendir(0.5): failed to open dir: %s in %s on line %d
183: bool(false)
184:
185: -- Iteration 10 --
186: bool(false)
187:
188: -- Iteration 11 --
189: bool(false)
190:
191: -- Iteration 12 --
192:
193: Warning: opendir(1,1): The system cannot find the file specified. (code: 2) in %s on line %d
194:
195: Warning: opendir(1): failed to open dir: %s in %s on line %d
196: bool(false)
197:
198: -- Iteration 13 --
199: bool(false)
200:
201: -- Iteration 14 --
202:
203: Warning: opendir(1,1): The system cannot find the file specified. (code: 2) in %s on line %d
204:
205: Warning: opendir(1): failed to open dir: %s in %s on line %d
206: bool(false)
207:
208: -- Iteration 15 --
209: bool(false)
210:
211: -- Iteration 16 --
212: bool(false)
213:
214: -- Iteration 17 --
215: bool(false)
216:
217: -- Iteration 18 --
218:
219: Warning: opendir() expects parameter 1 to be string, array given in %s on line %d
220: NULL
221:
222: -- Iteration 19 --
223: resource(%d) of type (stream)
224:
225: -- Iteration 20 --
226:
227: Warning: opendir(string,string): The system cannot find the file specified. (code: 2) in %s on line %d
228:
229: Warning: opendir(string): failed to open dir: %s in %s on line %d
230: bool(false)
231:
232: -- Iteration 21 --
233: resource(%d) of type (stream)
234:
235: -- Iteration 22 --
236: resource(%d) of type (stream)
237:
238: -- Iteration 23 --
239: bool(false)
240:
241: -- Iteration 24 --
242: bool(false)
243:
244: -- Iteration 25 --
245:
246: Warning: opendir() expects parameter 1 to be string, resource given in %s on line %d
247: NULL
248: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>