Annotation of embedaddon/php/ext/standard/tests/dir/dir_variation9.phpt, revision 1.1.1.2
1.1 misho 1: --TEST--
2: Test dir() function : usage variations - relative valid and invalid paths
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: /*
12: * Prototype : object dir(string $directory[, resource $context])
13: * Description: Directory class with properties, handle and class and methods read, rewind and close
14: * Source code: ext/standard/dir.c
15: */
16:
17: /*
18: * Checking the behavior of dir() function by passing directories which
19: * have valid and invalid relative path.
20: */
21:
22: echo "*** Testing dir() : checking with valid and invalid paths ***\n";
23:
24: /* create the temporary directories */
25:
26: $file_path = dirname(__FILE__);
27:
28: // directory dir_variation91 with one sub-directory sub_dir11 and sub-sub-directory sub_dir111
29: $dir_path1 = $file_path."/dir_variation91";
30: $sub_dir11 = $dir_path1."/sub_dir11";
31: $sub_dir111 = $sub_dir11."/sub_dir111";
32:
33: // directory dir_variation92 with one sub-directory sub_dir21
34: $dir_path2 = $file_path."/dir_variation92";
35: $sub_dir21 = $dir_path2."/sub_dir21";
36:
37: @mkdir($dir_path1);
38: @mkdir($dir_path2);
39: @mkdir($sub_dir11);
40: @mkdir($sub_dir111);
41: @mkdir($sub_dir21);
42:
43: // open the directory with valid paths
44: echo "\n-- With valid paths --\n";
45: var_dump( dir("$dir_path1/sub_dir11/sub_dir111/..") );
46: var_dump( dir("$dir_path2/sub_dir21/../../dir_variation91") );
47: var_dump( dir("$dir_path2/sub_dir21/../../dir_variation91/sub_dir11/..") );
48: var_dump( dir("$dir_path1/sub_dir11/sub_dir111/../../../dir_variation92/sub_dir21/..") );
49:
50: // open the directory with invalid path
51: echo "\n-- With invalid paths --\n";
52: var_dump( dir("$dir_path1/sub_dir12/sub_dir111/..") );
53: var_dump( dir("$dir_path2/sub_dir21/../dir_variation91") );
54: var_dump( dir("$dir_path2/sub_dir21/../../dir_variation91/sub_dir12/..") );
55: var_dump( dir("$dir_path1/sub_dir11/sub_dir111/../../dir_variation92/sub_dir21/..") );
56:
57: echo "Done";
58: ?>
59: --CLEAN--
60: <?php
61: $file_path = dirname(__FILE__);
62:
63: $dir_path1 = $file_path."/dir_variation91";
64: $sub_dir11 = $dir_path1."/sub_dir11";
65: $sub_dir111 = $sub_dir11."/sub_dir111";
66: $dir_path2 = $file_path."/dir_variation92";
67: $sub_dir21 = $dir_path2."/sub_dir21";
68:
69: rmdir($sub_dir21);
70: rmdir($sub_dir111);
71: rmdir($sub_dir11);
72: rmdir($dir_path1);
73: rmdir($dir_path2);
74: ?>
75: --EXPECTF--
76: *** Testing dir() : checking with valid and invalid paths ***
77:
78: -- With valid paths --
79: object(Directory)#%d (2) {
80: ["path"]=>
81: string(%d) "%s/dir_variation91/sub_dir11/sub_dir111/.."
82: ["handle"]=>
83: resource(%d) of type (stream)
84: }
85: object(Directory)#%d (2) {
86: ["path"]=>
87: string(%d) "%s/dir_variation92/sub_dir21/../../dir_variation91"
88: ["handle"]=>
89: resource(%d) of type (stream)
90: }
91: object(Directory)#%d (2) {
92: ["path"]=>
93: string(%d) "%s/dir_variation92/sub_dir21/../../dir_variation91/sub_dir11/.."
94: ["handle"]=>
95: resource(%d) of type (stream)
96: }
97: object(Directory)#%d (2) {
98: ["path"]=>
99: string(%d) "%s/dir_variation91/sub_dir11/sub_dir111/../../../dir_variation92/sub_dir21/.."
100: ["handle"]=>
101: resource(%d) of type (stream)
102: }
103:
104: -- With invalid paths --
105:
106: Warning: dir(%s/dir_variation91/sub_dir12/sub_dir111/..): failed to open dir: %s in %s on line %d
107: bool(false)
108:
109: Warning: dir(%s/dir_variation92/sub_dir21/../dir_variation91): failed to open dir: %s in %s on line %d
110: bool(false)
111:
112: Warning: dir(%s/dir_variation92/sub_dir21/../../dir_variation91/sub_dir12/..): failed to open dir: %s in %s on line %d
113: bool(false)
114:
115: Warning: dir(%s/dir_variation91/sub_dir11/sub_dir111/../../dir_variation92/sub_dir21/..): failed to open dir: %s in %s on line %d
116: bool(false)
117: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>