Annotation of embedaddon/php/ext/standard/tests/file/pathinfo_basic.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test pathinfo() function: basic functionality
3: --FILE--
4: <?php
5: /* Prototype: mixed pathinfo ( string $path [, int $options] );
6: Description: Returns information about a file path
7: */
8:
9: echo "*** Testing basic functions of pathinfo() ***\n";
10:
11: $file_path = dirname(__FILE__);
12:
13: $paths = array (
14: /* Testing basic file notation */
15: "$file_path/foo/symlink.link",
16: "www.example.co.in",
17: "/var/www/html/example.html",
18: "/dir/test.tar.gz",
19:
20: /* Testing a file with trailing slash */
21: "$file_path/foo/symlink.link/",
22:
23: /* Testing file with double slashes */
24: "$file_path/foo//symlink.link",
25: "$file_path/foo//symlink.link",
26: "$file_path/foo//symlink.link//",
27:
28: /* Testing file with trailing double slashes */
29: "$file_path/foo/symlink.link//",
30:
31: /* Testing Binary safe files */
32: "$file_path/foo".chr(47)."symlink.link",
33: "$file_path".chr(47)."foo/symlink.link",
34: "$file_path".chr(47)."foo".chr(47)."symlink.link",
35: b"$file_path/foo/symlink.link",
36:
37: /* Testing directories */
38: ".", // current directory
39: "$file_path/foo/",
40: "$file_path/foo//",
41: "$file_path/../foo/",
42: "../foo/bar",
43: "./foo/bar",
44: "//foo//bar//",
45:
46: /* Testing with homedir notation */
47: "~/PHP/php5.2.0/",
48:
49: /* Testing normal directory notation */
50: "/home/example/test/",
51: "http://httpd.apache.org/core.html#acceptpathinfo"
52: );
53:
54: $counter = 1;
55: /* loop through $paths to test each $path in the above array */
56: foreach($paths as $path) {
57: echo "-- Iteration $counter --\n";
58: var_dump( pathinfo($path, PATHINFO_DIRNAME) );
59: var_dump( pathinfo($path, PATHINFO_BASENAME) );
60: var_dump( pathinfo($path, PATHINFO_EXTENSION) );
61: var_dump( pathinfo($path, PATHINFO_FILENAME) );
62: var_dump( pathinfo($path) );
63: $counter++;
64: }
65:
66: echo "Done\n";
67: ?>
68: --EXPECTF--
69: *** Testing basic functions of pathinfo() ***
70: -- Iteration 1 --
71: %unicode|string%(%d) "%s/foo"
72: %unicode|string%(12) "symlink.link"
73: %unicode|string%(4) "link"
74: %unicode|string%(7) "symlink"
75: array(4) {
76: [%u|b%"dirname"]=>
77: %unicode|string%(%d) "%s/foo"
78: [%u|b%"basename"]=>
79: %unicode|string%(12) "symlink.link"
80: [%u|b%"extension"]=>
81: %unicode|string%(4) "link"
82: [%u|b%"filename"]=>
83: %unicode|string%(7) "symlink"
84: }
85: -- Iteration 2 --
86: %unicode|string%(1) "."
87: %unicode|string%(17) "www.example.co.in"
88: %unicode|string%(2) "in"
89: %unicode|string%(14) "www.example.co"
90: array(4) {
91: [%u|b%"dirname"]=>
92: %unicode|string%(1) "."
93: [%u|b%"basename"]=>
94: %unicode|string%(17) "www.example.co.in"
95: [%u|b%"extension"]=>
96: %unicode|string%(2) "in"
97: [%u|b%"filename"]=>
98: %unicode|string%(14) "www.example.co"
99: }
100: -- Iteration 3 --
101: %unicode|string%(13) "/var/www/html"
102: %unicode|string%(12) "example.html"
103: %unicode|string%(4) "html"
104: %unicode|string%(7) "example"
105: array(4) {
106: [%u|b%"dirname"]=>
107: %unicode|string%(13) "/var/www/html"
108: [%u|b%"basename"]=>
109: %unicode|string%(12) "example.html"
110: [%u|b%"extension"]=>
111: %unicode|string%(4) "html"
112: [%u|b%"filename"]=>
113: %unicode|string%(7) "example"
114: }
115: -- Iteration 4 --
116: %unicode|string%(4) "/dir"
117: %unicode|string%(11) "test.tar.gz"
118: %unicode|string%(2) "gz"
119: %unicode|string%(8) "test.tar"
120: array(4) {
121: [%u|b%"dirname"]=>
122: %unicode|string%(4) "/dir"
123: [%u|b%"basename"]=>
124: %unicode|string%(11) "test.tar.gz"
125: [%u|b%"extension"]=>
126: %unicode|string%(2) "gz"
127: [%u|b%"filename"]=>
128: %unicode|string%(8) "test.tar"
129: }
130: -- Iteration 5 --
131: %unicode|string%(%d) "%s/foo"
132: %unicode|string%(12) "symlink.link"
133: %unicode|string%(4) "link"
134: %unicode|string%(7) "symlink"
135: array(4) {
136: [%u|b%"dirname"]=>
137: %unicode|string%(%d) "%s/foo"
138: [%u|b%"basename"]=>
139: %unicode|string%(12) "symlink.link"
140: [%u|b%"extension"]=>
141: %unicode|string%(4) "link"
142: [%u|b%"filename"]=>
143: %unicode|string%(7) "symlink"
144: }
145: -- Iteration 6 --
146: %unicode|string%(%d) "%s/foo"
147: %unicode|string%(12) "symlink.link"
148: %unicode|string%(4) "link"
149: %unicode|string%(7) "symlink"
150: array(4) {
151: [%u|b%"dirname"]=>
152: %unicode|string%(%d) "%s/foo"
153: [%u|b%"basename"]=>
154: %unicode|string%(12) "symlink.link"
155: [%u|b%"extension"]=>
156: %unicode|string%(4) "link"
157: [%u|b%"filename"]=>
158: %unicode|string%(7) "symlink"
159: }
160: -- Iteration 7 --
161: %unicode|string%(%d) "%s/foo"
162: %unicode|string%(12) "symlink.link"
163: %unicode|string%(4) "link"
164: %unicode|string%(7) "symlink"
165: array(4) {
166: [%u|b%"dirname"]=>
167: %unicode|string%(%d) "%s/foo"
168: [%u|b%"basename"]=>
169: %unicode|string%(12) "symlink.link"
170: [%u|b%"extension"]=>
171: %unicode|string%(4) "link"
172: [%u|b%"filename"]=>
173: %unicode|string%(7) "symlink"
174: }
175: -- Iteration 8 --
176: %unicode|string%(%d) "%s/foo"
177: %unicode|string%(12) "symlink.link"
178: %unicode|string%(4) "link"
179: %unicode|string%(7) "symlink"
180: array(4) {
181: [%u|b%"dirname"]=>
182: %unicode|string%(%d) "%s/foo"
183: [%u|b%"basename"]=>
184: %unicode|string%(12) "symlink.link"
185: [%u|b%"extension"]=>
186: %unicode|string%(4) "link"
187: [%u|b%"filename"]=>
188: %unicode|string%(7) "symlink"
189: }
190: -- Iteration 9 --
191: %unicode|string%(%d) "%s/foo"
192: %unicode|string%(12) "symlink.link"
193: %unicode|string%(4) "link"
194: %unicode|string%(7) "symlink"
195: array(4) {
196: [%u|b%"dirname"]=>
197: %unicode|string%(%d) "%s/foo"
198: [%u|b%"basename"]=>
199: %unicode|string%(12) "symlink.link"
200: [%u|b%"extension"]=>
201: %unicode|string%(4) "link"
202: [%u|b%"filename"]=>
203: %unicode|string%(7) "symlink"
204: }
205: -- Iteration 10 --
206: %unicode|string%(%d) "%s/foo"
207: %unicode|string%(12) "symlink.link"
208: %unicode|string%(4) "link"
209: %unicode|string%(7) "symlink"
210: array(4) {
211: [%u|b%"dirname"]=>
212: %unicode|string%(%d) "%s/foo"
213: [%u|b%"basename"]=>
214: %unicode|string%(12) "symlink.link"
215: [%u|b%"extension"]=>
216: %unicode|string%(4) "link"
217: [%u|b%"filename"]=>
218: %unicode|string%(7) "symlink"
219: }
220: -- Iteration 11 --
221: %unicode|string%(%d) "%s/foo"
222: %unicode|string%(12) "symlink.link"
223: %unicode|string%(4) "link"
224: %unicode|string%(7) "symlink"
225: array(4) {
226: [%u|b%"dirname"]=>
227: %unicode|string%(%d) "%s/foo"
228: [%u|b%"basename"]=>
229: %unicode|string%(12) "symlink.link"
230: [%u|b%"extension"]=>
231: %unicode|string%(4) "link"
232: [%u|b%"filename"]=>
233: %unicode|string%(7) "symlink"
234: }
235: -- Iteration 12 --
236: %unicode|string%(%d) "%s/foo"
237: %unicode|string%(12) "symlink.link"
238: %unicode|string%(4) "link"
239: %unicode|string%(7) "symlink"
240: array(4) {
241: [%u|b%"dirname"]=>
242: %unicode|string%(%d) "%s/foo"
243: [%u|b%"basename"]=>
244: %unicode|string%(12) "symlink.link"
245: [%u|b%"extension"]=>
246: %unicode|string%(4) "link"
247: [%u|b%"filename"]=>
248: %unicode|string%(7) "symlink"
249: }
250: -- Iteration 13 --
251: string(%d) "%s/foo"
252: string(12) "symlink.link"
253: string(4) "link"
254: string(7) "symlink"
255: array(4) {
256: [%u|b%"dirname"]=>
257: string(%d) "%s/foo"
258: [%u|b%"basename"]=>
259: string(12) "symlink.link"
260: [%u|b%"extension"]=>
261: string(4) "link"
262: [%u|b%"filename"]=>
263: string(7) "symlink"
264: }
265: -- Iteration 14 --
266: %unicode|string%(1) "."
267: %unicode|string%(1) "."
268: %unicode|string%(0) ""
269: %unicode|string%(0) ""
270: array(4) {
271: [%u|b%"dirname"]=>
272: %unicode|string%(1) "."
273: [%u|b%"basename"]=>
274: %unicode|string%(1) "."
275: [%u|b%"extension"]=>
276: %unicode|string%(0) ""
277: [%u|b%"filename"]=>
278: %unicode|string%(0) ""
279: }
280: -- Iteration 15 --
281: %unicode|string%(%d) "%s"
282: %unicode|string%(3) "foo"
283: %unicode|string%(0) ""
284: %unicode|string%(3) "foo"
285: array(3) {
286: [%u|b%"dirname"]=>
287: %unicode|string%(%d) "%s"
288: [%u|b%"basename"]=>
289: %unicode|string%(3) "foo"
290: [%u|b%"filename"]=>
291: %unicode|string%(3) "foo"
292: }
293: -- Iteration 16 --
294: %unicode|string%(%d) "%s"
295: %unicode|string%(3) "foo"
296: %unicode|string%(0) ""
297: %unicode|string%(3) "foo"
298: array(3) {
299: [%u|b%"dirname"]=>
300: %unicode|string%(%d) "%s"
301: [%u|b%"basename"]=>
302: %unicode|string%(3) "foo"
303: [%u|b%"filename"]=>
304: %unicode|string%(3) "foo"
305: }
306: -- Iteration 17 --
307: %unicode|string%(%d) "%s/.."
308: %unicode|string%(3) "foo"
309: %unicode|string%(0) ""
310: %unicode|string%(3) "foo"
311: array(3) {
312: [%u|b%"dirname"]=>
313: %unicode|string%(%d) "%s/.."
314: [%u|b%"basename"]=>
315: %unicode|string%(3) "foo"
316: [%u|b%"filename"]=>
317: %unicode|string%(3) "foo"
318: }
319: -- Iteration 18 --
320: %unicode|string%(6) "../foo"
321: %unicode|string%(3) "bar"
322: %unicode|string%(0) ""
323: %unicode|string%(3) "bar"
324: array(3) {
325: [%u|b%"dirname"]=>
326: %unicode|string%(6) "../foo"
327: [%u|b%"basename"]=>
328: %unicode|string%(3) "bar"
329: [%u|b%"filename"]=>
330: %unicode|string%(3) "bar"
331: }
332: -- Iteration 19 --
333: %unicode|string%(5) "./foo"
334: %unicode|string%(3) "bar"
335: %unicode|string%(0) ""
336: %unicode|string%(3) "bar"
337: array(3) {
338: [%u|b%"dirname"]=>
339: %unicode|string%(5) "./foo"
340: [%u|b%"basename"]=>
341: %unicode|string%(3) "bar"
342: [%u|b%"filename"]=>
343: %unicode|string%(3) "bar"
344: }
345: -- Iteration 20 --
346: %unicode|string%(5) "//foo"
347: %unicode|string%(3) "bar"
348: %unicode|string%(0) ""
349: %unicode|string%(3) "bar"
350: array(3) {
351: [%u|b%"dirname"]=>
352: %unicode|string%(5) "//foo"
353: [%u|b%"basename"]=>
354: %unicode|string%(3) "bar"
355: [%u|b%"filename"]=>
356: %unicode|string%(3) "bar"
357: }
358: -- Iteration 21 --
359: %unicode|string%(5) "~/PHP"
360: %unicode|string%(8) "php5.2.0"
361: %unicode|string%(1) "0"
362: %unicode|string%(6) "php5.2"
363: array(4) {
364: [%u|b%"dirname"]=>
365: %unicode|string%(5) "~/PHP"
366: [%u|b%"basename"]=>
367: %unicode|string%(8) "php5.2.0"
368: [%u|b%"extension"]=>
369: %unicode|string%(1) "0"
370: [%u|b%"filename"]=>
371: %unicode|string%(6) "php5.2"
372: }
373: -- Iteration 22 --
374: %unicode|string%(13) "/home/example"
375: %unicode|string%(4) "test"
376: %unicode|string%(0) ""
377: %unicode|string%(4) "test"
378: array(3) {
379: [%u|b%"dirname"]=>
380: %unicode|string%(13) "/home/example"
381: [%u|b%"basename"]=>
382: %unicode|string%(4) "test"
383: [%u|b%"filename"]=>
384: %unicode|string%(4) "test"
385: }
386: -- Iteration 23 --
387: %unicode|string%(23) "http://httpd.apache.org"
388: %unicode|string%(24) "core.html#acceptpathinfo"
389: %unicode|string%(19) "html#acceptpathinfo"
390: %unicode|string%(4) "core"
391: array(4) {
392: [%u|b%"dirname"]=>
393: %unicode|string%(23) "http://httpd.apache.org"
394: [%u|b%"basename"]=>
395: %unicode|string%(24) "core.html#acceptpathinfo"
396: [%u|b%"extension"]=>
397: %unicode|string%(19) "html#acceptpathinfo"
398: [%u|b%"filename"]=>
399: %unicode|string%(4) "core"
400: }
401: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>