1--TEST--
2Test scandir() function : usage variations - different relative paths
3--SKIPIF--
4<?php
5if (substr(PHP_OS, 0, 3) != 'WIN') {
6  die("skip Valid only on Windows");
7}
8?>
9--FILE--
10<?php
11/* Prototype  : array scandir(string $dir [, int $sorting_order [, resource $context]])
12 * Description: List files & directories inside the specified path
13 * Source code: ext/standard/dir.c
14 */
15
16/*
17 * Test scandir() with relative paths as $dir argument
18 */
19
20echo "*** Testing scandir() : usage variations ***\n";
21
22// include for create_files/delete_files functions
23include (__DIR__ . '/../file/file.inc');
24
25$base_dir_path = __DIR__ . '/scandir_variation4-win32-mb';
26@mkdir($base_dir_path);
27
28$level_one_dir_path = "$base_dir_path/私はガラスを食べられますlevel_one";
29$level_two_dir_path = "$level_one_dir_path/私はガラスを食べられますlevel_two";
30
31// create directories and files
32mkdir($level_one_dir_path);
33create_files($level_one_dir_path, 2, 'numeric', 0755, 1, 'w', '私はガラスを食べられますlevel_one', 1);
34mkdir($level_two_dir_path);
35create_files($level_two_dir_path, 2, 'numeric', 0755, 1, 'w', '私はガラスを食べられますlevel_two', 1);
36
37echo "\n-- \$path = './私はガラスを食べられますlevel_one': --\n";
38var_dump(chdir($base_dir_path));
39var_dump(scandir('./私はガラスを食べられますlevel_one'));
40
41echo "\n-- \$path = 'level_one/私はガラスを食べられますlevel_two': --\n";
42var_dump(chdir($base_dir_path));
43var_dump(scandir('私はガラスを食べられますlevel_one/私はガラスを食べられますlevel_two'));
44
45echo "\n-- \$path = '..': --\n";
46var_dump(chdir($level_two_dir_path));
47var_dump(scandir('..'));
48
49echo "\n-- \$path = '私はガラスを食べられますlevel_two', '.': --\n";
50var_dump(chdir($level_two_dir_path));
51var_dump(scandir('.'));
52
53echo "\n-- \$path = '../': --\n";
54var_dump(chdir($level_two_dir_path));
55var_dump(scandir('../'));
56
57echo "\n-- \$path = './': --\n";
58var_dump(chdir($level_two_dir_path));
59var_dump(scandir('./'));
60
61echo "\n-- \$path = '../../'私はガラスを食べられますlevel_one': --\n";
62var_dump(chdir($level_two_dir_path));
63var_dump(scandir('../../私はガラスを食べられますlevel_one'));
64
65@delete_files($level_one_dir_path, 2, '私はガラスを食べられますlevel_one');
66@delete_files($level_two_dir_path, 2, '私はガラスを食べられますlevel_two');
67?>
68===DONE===
69--CLEAN--
70<?php
71$base_dir_path = __DIR__ . '/scandir_variation4-win32-mb';
72rmdir("$base_dir_path/私はガラスを食べられますlevel_one/私はガラスを食べられますlevel_two");
73rmdir("$base_dir_path/私はガラスを食べられますlevel_one");
74rmdir($base_dir_path);
75?>
76--EXPECT--
77*** Testing scandir() : usage variations ***
78
79-- $path = './私はガラスを食べられますlevel_one': --
80bool(true)
81array(5) {
82  [0]=>
83  string(1) "."
84  [1]=>
85  string(2) ".."
86  [2]=>
87  string(50) "私はガラスを食べられますlevel_one1.tmp"
88  [3]=>
89  string(50) "私はガラスを食べられますlevel_one2.tmp"
90  [4]=>
91  string(45) "私はガラスを食べられますlevel_two"
92}
93
94-- $path = 'level_one/私はガラスを食べられますlevel_two': --
95bool(true)
96array(4) {
97  [0]=>
98  string(1) "."
99  [1]=>
100  string(2) ".."
101  [2]=>
102  string(50) "私はガラスを食べられますlevel_two1.tmp"
103  [3]=>
104  string(50) "私はガラスを食べられますlevel_two2.tmp"
105}
106
107-- $path = '..': --
108bool(true)
109array(5) {
110  [0]=>
111  string(1) "."
112  [1]=>
113  string(2) ".."
114  [2]=>
115  string(50) "私はガラスを食べられますlevel_one1.tmp"
116  [3]=>
117  string(50) "私はガラスを食べられますlevel_one2.tmp"
118  [4]=>
119  string(45) "私はガラスを食べられますlevel_two"
120}
121
122-- $path = '私はガラスを食べられますlevel_two', '.': --
123bool(true)
124array(4) {
125  [0]=>
126  string(1) "."
127  [1]=>
128  string(2) ".."
129  [2]=>
130  string(50) "私はガラスを食べられますlevel_two1.tmp"
131  [3]=>
132  string(50) "私はガラスを食べられますlevel_two2.tmp"
133}
134
135-- $path = '../': --
136bool(true)
137array(5) {
138  [0]=>
139  string(1) "."
140  [1]=>
141  string(2) ".."
142  [2]=>
143  string(50) "私はガラスを食べられますlevel_one1.tmp"
144  [3]=>
145  string(50) "私はガラスを食べられますlevel_one2.tmp"
146  [4]=>
147  string(45) "私はガラスを食べられますlevel_two"
148}
149
150-- $path = './': --
151bool(true)
152array(4) {
153  [0]=>
154  string(1) "."
155  [1]=>
156  string(2) ".."
157  [2]=>
158  string(50) "私はガラスを食べられますlevel_two1.tmp"
159  [3]=>
160  string(50) "私はガラスを食べられますlevel_two2.tmp"
161}
162
163-- $path = '../../'私はガラスを食べられますlevel_one': --
164bool(true)
165array(5) {
166  [0]=>
167  string(1) "."
168  [1]=>
169  string(2) ".."
170  [2]=>
171  string(50) "私はガラスを食べられますlevel_one1.tmp"
172  [3]=>
173  string(50) "私はガラスを食べられますlevel_one2.tmp"
174  [4]=>
175  string(45) "私はガラスを食べられますlevel_two"
176}
177===DONE===
178