Annotation of embedaddon/php/ext/standard/tests/dir/opendir_variation1.phpt, revision 1.1.1.2
1.1 misho 1: --TEST--
2: Test opendir() function : usage variations - different data types as $path arg
1.1.1.2 ! misho 3: --SKIPIF--
! 4: <?php
! 5: if (substr(PHP_OS, 0, 3) == 'WIN') {
! 6: die('skip.. Not valid for Windows');
! 7: }
! 8: ?>
1.1 misho 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): failed to open dir: %s in %s on line %d
125: bool(false)
126:
127: -- Iteration 2 --
128:
129: Warning: opendir(1): failed to open dir: %s in %s on line %d
130: bool(false)
131:
132: -- Iteration 3 --
133:
134: Warning: opendir(12345): failed to open dir: %s in %s on line %d
135: bool(false)
136:
137: -- Iteration 4 --
138:
139: Warning: opendir(-2345): failed to open dir: %s in %s on line %d
140: bool(false)
141:
142: -- Iteration 5 --
143:
144: Warning: opendir(10.5): failed to open dir: %s in %s on line %d
145: bool(false)
146:
147: -- Iteration 6 --
148:
149: Warning: opendir(-10.5): failed to open dir: %s in %s on line %d
150: bool(false)
151:
152: -- Iteration 7 --
153:
154: Warning: opendir(123456789000): failed to open dir: %s in %s on line %d
155: bool(false)
156:
157: -- Iteration 8 --
158:
159: Warning: opendir(1.23456789E-9): failed to open dir: %s in %s on line %d
160: bool(false)
161:
162: -- Iteration 9 --
163:
164: Warning: opendir(0.5): failed to open dir: %s in %s on line %d
165: bool(false)
166:
167: -- Iteration 10 --
168: bool(false)
169:
170: -- Iteration 11 --
171: bool(false)
172:
173: -- Iteration 12 --
174:
175: Warning: opendir(1): failed to open dir: %s in %s on line %d
176: bool(false)
177:
178: -- Iteration 13 --
179: bool(false)
180:
181: -- Iteration 14 --
182:
183: Warning: opendir(1): failed to open dir: %s in %s on line %d
184: bool(false)
185:
186: -- Iteration 15 --
187: bool(false)
188:
189: -- Iteration 16 --
190: bool(false)
191:
192: -- Iteration 17 --
193: bool(false)
194:
195: -- Iteration 18 --
196:
197: Warning: opendir() expects parameter 1 to be string, array given in %s on line %d
198: NULL
199:
200: -- Iteration 19 --
201: resource(%d) of type (stream)
202:
203: -- Iteration 20 --
204:
205: Warning: opendir(string): failed to open dir: %s in %s on line %d
206: bool(false)
207:
208: -- Iteration 21 --
209: resource(%d) of type (stream)
210:
211: -- Iteration 22 --
212: resource(%d) of type (stream)
213:
214: -- Iteration 23 --
215: bool(false)
216:
217: -- Iteration 24 --
218: bool(false)
219:
220: -- Iteration 25 --
221:
222: Warning: opendir() expects parameter 1 to be string, resource given in %s on line %d
223: NULL
224: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>