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