1--TEST--
2Test chdir() function : usage variations - 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  : bool chdir(string $directory)
12 * Description: Change the current directory
13 * Source code: ext/standard/dir.c
14 */
15
16/*
17 * Test chdir() with variations of relative paths
18 */
19
20echo "*** Testing chdir() : usage variations ***\n";
21
22$base_dir_path = dirname(__FILE__);
23
24$level_one_dir_name = "私はガラスを食べられますlevel_one";
25$level_one_dir_path = "$base_dir_path/$level_one_dir_name";
26
27$level_two_dir_name = "私はガラスを食べられますlevel_two";
28$level_two_dir_path = "$base_dir_path/$level_one_dir_name/$level_two_dir_name";
29
30// create directories
31mkdir($level_one_dir_path);
32mkdir($level_two_dir_path);
33
34echo "\n-- \$directory = './私はガラスを食べられますlevel_one': --\n";
35var_dump(chdir($base_dir_path));
36var_dump(chdir("./$level_one_dir_name"));
37var_dump(getcwd());
38
39echo "\n-- \$directory = '私はガラスを食べられますlevel_one/私はガラスを食べられますlevel_two': --\n";
40var_dump(chdir($base_dir_path));
41var_dump(chdir("$level_one_dir_name/$level_two_dir_name"));
42var_dump(getcwd());
43
44echo "\n-- \$directory = '..': --\n";
45var_dump(chdir('..'));
46var_dump(getcwd());
47
48echo "\n-- \$directory = '私はガラスを食べられますlevel_two', '.': --\n";
49var_dump(chdir($level_two_dir_path));
50var_dump(chdir('.'));
51var_dump(getcwd());
52
53echo "\n-- \$directory = '../': --\n";
54var_dump(chdir('../'));
55var_dump(getcwd());
56
57echo "\n-- \$directory = './': --\n";
58var_dump(chdir($level_two_dir_path));
59var_dump(chdir('./'));
60var_dump(getcwd());
61
62echo "\n-- \$directory = '../../'私はガラスを食べられますlevel_one': --\n";
63var_dump(chdir($level_two_dir_path));
64var_dump(chdir("../../$level_one_dir_name"));
65var_dump(getcwd());
66
67$file_path = dirname(__FILE__);
68chdir($file_path);/* not that PWD is accidentialy one of the dirs to be deleted. */
69rmdir("$file_path/私はガラスを食べられますlevel_one/私はガラスを食べられますlevel_two");
70rmdir("$file_path/私はガラスを食べられますlevel_one");
71?>
72===DONE===
73--CLEAN--
74<?php
75$file_path = dirname(__FILE__);
76chdir($file_path);/* not that PWD is accidentialy one of the dirs to be deleted. */
77rmdir("$file_path/私はガラスを食べられますlevel_one/私はガラスを食べられますlevel_two");
78rmdir("$file_path/私はガラスを食べられますlevel_one");
79?>
80--EXPECTF--
81*** Testing chdir() : usage variations ***
82
83-- $directory = './私はガラスを食べられますlevel_one': --
84bool(true)
85bool(true)
86string(%d) "%slevel_one"
87
88-- $directory = '私はガラスを食べられますlevel_one/私はガラスを食べられますlevel_two': --
89bool(true)
90bool(true)
91string(%d) "%s私はガラスを食べられますlevel_one%e私はガラスを食べられますlevel_two"
92
93-- $directory = '..': --
94bool(true)
95string(%d) "%s私はガラスを食べられますlevel_one"
96
97-- $directory = '私はガラスを食べられますlevel_two', '.': --
98bool(true)
99bool(true)
100string(%d) "%s私はガラスを食べられますlevel_one%e私はガラスを食べられますlevel_two"
101
102-- $directory = '../': --
103bool(true)
104string(%d) "%slevel_one"
105
106-- $directory = './': --
107bool(true)
108bool(true)
109string(%d) "%s私はガラスを食べられますlevel_one%e私はガラスを食べられますlevel_two"
110
111-- $directory = '../../'私はガラスを食べられますlevel_one': --
112bool(true)
113bool(true)
114string(%d) "%s私はガラスを食べられますlevel_one"
115===DONE===
116