diff options
author | Josie Messa <jmessa@php.net> | 2008-02-26 09:34:28 +0000 |
---|---|---|
committer | Josie Messa <jmessa@php.net> | 2008-02-26 09:34:28 +0000 |
commit | f13562aa66b28a381f4fdaf31db026cfa04d8c54 (patch) | |
tree | bd82eac3967ad47ea9b18f350566066d18bc1594 | |
parent | 3207b7b22816e2dd3df81bb1ed88b6dfdf224974 (diff) | |
download | php-git-f13562aa66b28a381f4fdaf31db026cfa04d8c54.tar.gz |
- New tests for chdir() function
-rw-r--r-- | ext/standard/tests/array/chdir_basic.phpt | 53 | ||||
-rw-r--r-- | ext/standard/tests/array/chdir_error1.phpt | 39 | ||||
-rw-r--r-- | ext/standard/tests/array/chdir_error2.phpt | 26 | ||||
-rw-r--r-- | ext/standard/tests/array/chdir_variation1.phpt | 235 | ||||
-rw-r--r-- | ext/standard/tests/array/chdir_variation2.phpt | 104 | ||||
-rw-r--r-- | ext/standard/tests/dir/chdir_basic.phpt | 53 | ||||
-rw-r--r-- | ext/standard/tests/dir/chdir_error1.phpt | 39 | ||||
-rw-r--r-- | ext/standard/tests/dir/chdir_error2.phpt | 26 | ||||
-rw-r--r-- | ext/standard/tests/dir/chdir_variation1.phpt | 235 | ||||
-rw-r--r-- | ext/standard/tests/dir/chdir_variation2.phpt | 104 |
10 files changed, 914 insertions, 0 deletions
diff --git a/ext/standard/tests/array/chdir_basic.phpt b/ext/standard/tests/array/chdir_basic.phpt new file mode 100644 index 0000000000..5fc0e5b886 --- /dev/null +++ b/ext/standard/tests/array/chdir_basic.phpt @@ -0,0 +1,53 @@ +--TEST-- +Test chdir() function : basic functionality +--FILE-- +<?php +/* Prototype : bool chdir(string $directory) + * Description: Change the current directory + * Source code: ext/standard/dir.c + */ + +/* + * Test basic functionality of chdir() with absolute and relative paths + */ + +echo "*** Testing chdir() : basic functionality ***\n"; +$base_dir_path = dirname(__FILE__); + +$level_one_dir_name = "level_one"; +$level_one_dir_path = "$base_dir_path/$level_one_dir_name"; + +$level_two_dir_name = "level_two"; +$level_two_dir_path = "$base_dir_path/$level_one_dir_name/$level_two_dir_name"; + +// create directories +mkdir($level_one_dir_path); +mkdir($level_two_dir_path); + +echo "\n-- Testing chdir() with absolute path: --\n"; +chdir($base_dir_path); +var_dump(chdir($level_one_dir_path)); +var_dump(getcwd()); + +echo "\n-- Testing chdir() with relative paths: --\n"; +var_dump(chdir($level_two_dir_name)); +var_dump(getcwd()); +?> +===DONE=== +--CLEAN-- +<?php +$file_path = dirname(__FILE__); +rmdir("$file_path/level_one/level_two"); +rmdir("$file_path/level_one"); +?> +--EXPECTF-- +*** Testing chdir() : basic functionality *** + +-- Testing chdir() with absolute path: -- +bool(true) +string(%d) "%slevel_one" + +-- Testing chdir() with relative paths: -- +bool(true) +string(%d) "%slevel_one%elevel_two" +===DONE=== diff --git a/ext/standard/tests/array/chdir_error1.phpt b/ext/standard/tests/array/chdir_error1.phpt new file mode 100644 index 0000000000..0f57ff5b2a --- /dev/null +++ b/ext/standard/tests/array/chdir_error1.phpt @@ -0,0 +1,39 @@ +--TEST-- +Test chdir() function : error conditions - Incorrect number of arguments +--FILE-- +<?php +/* Prototype : bool chdir(string $directory) + * Description: Change the current directory + * Source code: ext/standard/dir.c + */ + +/* + * Pass incorrect number of arguments to chdir() to test behaviour + */ + +echo "*** Testing chdir() : error conditions ***\n"; + +// Zero arguments +echo "\n-- Testing chdir() function with Zero arguments --\n"; +var_dump( chdir() ); + +//Test chdir with one more than the expected number of arguments +echo "\n-- Testing chdir() function with more than expected no. of arguments --\n"; +$directory = __FILE__; +$extra_arg = 10; +var_dump( chdir($directory, $extra_arg) ); +?> +===DONE=== +--EXPECTF-- +*** Testing chdir() : error conditions *** + +-- Testing chdir() function with Zero arguments -- + +Warning: chdir() expects exactly 1 parameter, 0 given in %s on line %d +bool(false) + +-- Testing chdir() function with more than expected no. of arguments -- + +Warning: chdir() expects exactly 1 parameter, 2 given in %s on line %d +bool(false) +===DONE=== diff --git a/ext/standard/tests/array/chdir_error2.phpt b/ext/standard/tests/array/chdir_error2.phpt new file mode 100644 index 0000000000..a3bbb63e6d --- /dev/null +++ b/ext/standard/tests/array/chdir_error2.phpt @@ -0,0 +1,26 @@ +--TEST-- +Test chdir() function : error conditions - Non-existent directory +--FILE-- +<?php +/* Prototype : bool chdir(string $directory) + * Description: Change the current directory + * Source code: ext/standard/dir.c + */ + +/* + * Pass a directory that does not exist as $directory to chdir() to test behaviour + */ + +echo "*** Testing chdir() : error conditions ***\n"; + +$directory = __FILE__ . '/idonotexist'; + +var_dump(chdir($directory)); +?> +===DONE=== +--EXPECTF-- +*** Testing chdir() : error conditions *** + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) +===DONE=== diff --git a/ext/standard/tests/array/chdir_variation1.phpt b/ext/standard/tests/array/chdir_variation1.phpt new file mode 100644 index 0000000000..a7cf857f7f --- /dev/null +++ b/ext/standard/tests/array/chdir_variation1.phpt @@ -0,0 +1,235 @@ +--TEST-- +Test chdir() function : usage variations - different data type as $directory arg +--FILE-- +<?php +/* Prototype : bool chdir(string $directory) + * Description: Change the current directory + * Source code: ext/standard/dir.c + */ + +/* + * Pass different data types as $directory argument to test behaviour + */ + +echo "*** Testing chdir() : usage variations ***\n"; + +// create the temporary directory +$file_path = dirname(__FILE__); +$dir_path = $file_path."/chdir_basic"; +@mkdir($dir_path); + +//get an unset variable +$unset_var = 10; +unset ($unset_var); + +// get a class +class classA { + var $dir_path; + + function __construct($dir) { + $this->dir_path = $dir; + } + + public function __toString() { + return "$this->dir_path"; + } +} + +// heredoc string +$heredoc = <<<EOT +$dir_path +EOT; + +// get a resource variable +$fp = fopen(__FILE__, "r"); + +// unexpected values to be passed to $directory argument +$inputs = array( + + // int data +/*1*/ 0, + 1, + 12345, + -2345, + + // float data +/*5*/ 10.5, + -10.5, + 12.3456789000e10, + 12.3456789000E-10, + .5, + + // null data +/*10*/ NULL, + null, + + // boolean data +/*12*/ true, + false, + TRUE, + FALSE, + + // empty data +/*16*/ "", + '', + array(), + + // string data +/*19*/ "$dir_path", + 'string', + $heredoc, + + // object data +/*22*/ new classA($dir_path), + + // undefined data +/*23*/ @$undefined_var, + + // unset data +/*24*/ @$unset_var, + + // resource variable +/*25*/ $fp +); + +// loop through each element of $inputs to check the behavior of chdir() +$iterator = 1; +foreach($inputs as $input) { + echo "\n-- Iteration $iterator --\n"; + var_dump( chdir($input) ); + $iterator++; +}; + +fclose($fp); + +?> +===DONE=== +--CLEAN-- +<?php +$file_path = dirname(__FILE__); +$dir_path = $file_path."/chdir_basic"; + +rmdir($dir_path); +?> +--EXPECTF-- +*** Testing chdir() : usage variations *** + +-- Iteration 1 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 2 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 3 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 4 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 5 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 6 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 7 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 8 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 9 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 10 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 11 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 12 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 13 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 14 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 15 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 16 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 17 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 18 -- + +Warning: chdir() expects parameter 1 to be string, array given in %s on line %d +bool(false) + +-- Iteration 19 -- +bool(true) + +-- Iteration 20 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 21 -- +bool(true) + +-- Iteration 22 -- +bool(true) + +-- Iteration 23 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 24 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 25 -- + +Warning: chdir() expects parameter 1 to be string, resource given in %s on line %d +bool(false) +===DONE=== diff --git a/ext/standard/tests/array/chdir_variation2.phpt b/ext/standard/tests/array/chdir_variation2.phpt new file mode 100644 index 0000000000..fa70f9e104 --- /dev/null +++ b/ext/standard/tests/array/chdir_variation2.phpt @@ -0,0 +1,104 @@ +--TEST-- +Test chdir() function : usage variations - relative paths +--FILE-- +<?php +/* Prototype : bool chdir(string $directory) + * Description: Change the current directory + * Source code: ext/standard/dir.c + */ + +/* + * Test chdir() with variations of relative paths + */ + +echo "*** Testing chdir() : usage variations ***\n"; + +$base_dir_path = dirname(__FILE__); + +$level_one_dir_name = "level_one"; +$level_one_dir_path = "$base_dir_path/$level_one_dir_name"; + +$level_two_dir_name = "level_two"; +$level_two_dir_path = "$base_dir_path/$level_one_dir_name/$level_two_dir_name"; + +// create directories +mkdir($level_one_dir_path); +mkdir($level_two_dir_path); + +echo "\n-- \$directory = './level_one': --\n"; +var_dump(chdir($base_dir_path)); +var_dump(chdir("./$level_one_dir_name")); +var_dump(getcwd()); + +echo "\n-- \$directory = 'level_one/level_two': --\n"; +var_dump(chdir($base_dir_path)); +var_dump(chdir("$level_one_dir_name/$level_two_dir_name")); +var_dump(getcwd()); + +echo "\n-- \$directory = '..': --\n"; +var_dump(chdir('..')); +var_dump(getcwd()); + +echo "\n-- \$directory = 'level_two', '.': --\n"; +var_dump(chdir($level_two_dir_path)); +var_dump(chdir('.')); +var_dump(getcwd()); + +echo "\n-- \$directory = '../': --\n"; +var_dump(chdir('../')); +var_dump(getcwd()); + +echo "\n-- \$directory = './': --\n"; +var_dump(chdir($level_two_dir_path)); +var_dump(chdir('./')); +var_dump(getcwd()); + +echo "\n-- \$directory = '../../'level_one': --\n"; +var_dump(chdir($level_two_dir_path)); +var_dump(chdir("../../$level_one_dir_name")); +var_dump(getcwd()); + +?> +===DONE=== +--CLEAN-- +<?php +$file_path = dirname(__FILE__); +rmdir("$file_path/level_one/level_two"); +rmdir("$file_path/level_one"); +?> +--EXPECTF-- +*** Testing chdir() : usage variations *** + +-- $directory = './level_one': -- +bool(true) +bool(true) +string(%d) "%slevel_one" + +-- $directory = 'level_one/level_two': -- +bool(true) +bool(true) +string(%d) "%slevel_one%elevel_two" + +-- $directory = '..': -- +bool(true) +string(%d) "%slevel_one" + +-- $directory = 'level_two', '.': -- +bool(true) +bool(true) +string(%d) "%slevel_one%elevel_two" + +-- $directory = '../': -- +bool(true) +string(%d) "%slevel_one" + +-- $directory = './': -- +bool(true) +bool(true) +string(%d) "%slevel_one%elevel_two" + +-- $directory = '../../'level_one': -- +bool(true) +bool(true) +string(%d) "%slevel_one" +===DONE=== diff --git a/ext/standard/tests/dir/chdir_basic.phpt b/ext/standard/tests/dir/chdir_basic.phpt new file mode 100644 index 0000000000..5fc0e5b886 --- /dev/null +++ b/ext/standard/tests/dir/chdir_basic.phpt @@ -0,0 +1,53 @@ +--TEST-- +Test chdir() function : basic functionality +--FILE-- +<?php +/* Prototype : bool chdir(string $directory) + * Description: Change the current directory + * Source code: ext/standard/dir.c + */ + +/* + * Test basic functionality of chdir() with absolute and relative paths + */ + +echo "*** Testing chdir() : basic functionality ***\n"; +$base_dir_path = dirname(__FILE__); + +$level_one_dir_name = "level_one"; +$level_one_dir_path = "$base_dir_path/$level_one_dir_name"; + +$level_two_dir_name = "level_two"; +$level_two_dir_path = "$base_dir_path/$level_one_dir_name/$level_two_dir_name"; + +// create directories +mkdir($level_one_dir_path); +mkdir($level_two_dir_path); + +echo "\n-- Testing chdir() with absolute path: --\n"; +chdir($base_dir_path); +var_dump(chdir($level_one_dir_path)); +var_dump(getcwd()); + +echo "\n-- Testing chdir() with relative paths: --\n"; +var_dump(chdir($level_two_dir_name)); +var_dump(getcwd()); +?> +===DONE=== +--CLEAN-- +<?php +$file_path = dirname(__FILE__); +rmdir("$file_path/level_one/level_two"); +rmdir("$file_path/level_one"); +?> +--EXPECTF-- +*** Testing chdir() : basic functionality *** + +-- Testing chdir() with absolute path: -- +bool(true) +string(%d) "%slevel_one" + +-- Testing chdir() with relative paths: -- +bool(true) +string(%d) "%slevel_one%elevel_two" +===DONE=== diff --git a/ext/standard/tests/dir/chdir_error1.phpt b/ext/standard/tests/dir/chdir_error1.phpt new file mode 100644 index 0000000000..0f57ff5b2a --- /dev/null +++ b/ext/standard/tests/dir/chdir_error1.phpt @@ -0,0 +1,39 @@ +--TEST-- +Test chdir() function : error conditions - Incorrect number of arguments +--FILE-- +<?php +/* Prototype : bool chdir(string $directory) + * Description: Change the current directory + * Source code: ext/standard/dir.c + */ + +/* + * Pass incorrect number of arguments to chdir() to test behaviour + */ + +echo "*** Testing chdir() : error conditions ***\n"; + +// Zero arguments +echo "\n-- Testing chdir() function with Zero arguments --\n"; +var_dump( chdir() ); + +//Test chdir with one more than the expected number of arguments +echo "\n-- Testing chdir() function with more than expected no. of arguments --\n"; +$directory = __FILE__; +$extra_arg = 10; +var_dump( chdir($directory, $extra_arg) ); +?> +===DONE=== +--EXPECTF-- +*** Testing chdir() : error conditions *** + +-- Testing chdir() function with Zero arguments -- + +Warning: chdir() expects exactly 1 parameter, 0 given in %s on line %d +bool(false) + +-- Testing chdir() function with more than expected no. of arguments -- + +Warning: chdir() expects exactly 1 parameter, 2 given in %s on line %d +bool(false) +===DONE=== diff --git a/ext/standard/tests/dir/chdir_error2.phpt b/ext/standard/tests/dir/chdir_error2.phpt new file mode 100644 index 0000000000..a3bbb63e6d --- /dev/null +++ b/ext/standard/tests/dir/chdir_error2.phpt @@ -0,0 +1,26 @@ +--TEST-- +Test chdir() function : error conditions - Non-existent directory +--FILE-- +<?php +/* Prototype : bool chdir(string $directory) + * Description: Change the current directory + * Source code: ext/standard/dir.c + */ + +/* + * Pass a directory that does not exist as $directory to chdir() to test behaviour + */ + +echo "*** Testing chdir() : error conditions ***\n"; + +$directory = __FILE__ . '/idonotexist'; + +var_dump(chdir($directory)); +?> +===DONE=== +--EXPECTF-- +*** Testing chdir() : error conditions *** + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) +===DONE=== diff --git a/ext/standard/tests/dir/chdir_variation1.phpt b/ext/standard/tests/dir/chdir_variation1.phpt new file mode 100644 index 0000000000..a7cf857f7f --- /dev/null +++ b/ext/standard/tests/dir/chdir_variation1.phpt @@ -0,0 +1,235 @@ +--TEST-- +Test chdir() function : usage variations - different data type as $directory arg +--FILE-- +<?php +/* Prototype : bool chdir(string $directory) + * Description: Change the current directory + * Source code: ext/standard/dir.c + */ + +/* + * Pass different data types as $directory argument to test behaviour + */ + +echo "*** Testing chdir() : usage variations ***\n"; + +// create the temporary directory +$file_path = dirname(__FILE__); +$dir_path = $file_path."/chdir_basic"; +@mkdir($dir_path); + +//get an unset variable +$unset_var = 10; +unset ($unset_var); + +// get a class +class classA { + var $dir_path; + + function __construct($dir) { + $this->dir_path = $dir; + } + + public function __toString() { + return "$this->dir_path"; + } +} + +// heredoc string +$heredoc = <<<EOT +$dir_path +EOT; + +// get a resource variable +$fp = fopen(__FILE__, "r"); + +// unexpected values to be passed to $directory argument +$inputs = array( + + // int data +/*1*/ 0, + 1, + 12345, + -2345, + + // float data +/*5*/ 10.5, + -10.5, + 12.3456789000e10, + 12.3456789000E-10, + .5, + + // null data +/*10*/ NULL, + null, + + // boolean data +/*12*/ true, + false, + TRUE, + FALSE, + + // empty data +/*16*/ "", + '', + array(), + + // string data +/*19*/ "$dir_path", + 'string', + $heredoc, + + // object data +/*22*/ new classA($dir_path), + + // undefined data +/*23*/ @$undefined_var, + + // unset data +/*24*/ @$unset_var, + + // resource variable +/*25*/ $fp +); + +// loop through each element of $inputs to check the behavior of chdir() +$iterator = 1; +foreach($inputs as $input) { + echo "\n-- Iteration $iterator --\n"; + var_dump( chdir($input) ); + $iterator++; +}; + +fclose($fp); + +?> +===DONE=== +--CLEAN-- +<?php +$file_path = dirname(__FILE__); +$dir_path = $file_path."/chdir_basic"; + +rmdir($dir_path); +?> +--EXPECTF-- +*** Testing chdir() : usage variations *** + +-- Iteration 1 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 2 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 3 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 4 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 5 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 6 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 7 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 8 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 9 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 10 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 11 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 12 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 13 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 14 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 15 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 16 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 17 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 18 -- + +Warning: chdir() expects parameter 1 to be string, array given in %s on line %d +bool(false) + +-- Iteration 19 -- +bool(true) + +-- Iteration 20 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 21 -- +bool(true) + +-- Iteration 22 -- +bool(true) + +-- Iteration 23 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 24 -- + +Warning: chdir(): %s (errno %d) in %s on line %d +bool(false) + +-- Iteration 25 -- + +Warning: chdir() expects parameter 1 to be string, resource given in %s on line %d +bool(false) +===DONE=== diff --git a/ext/standard/tests/dir/chdir_variation2.phpt b/ext/standard/tests/dir/chdir_variation2.phpt new file mode 100644 index 0000000000..fa70f9e104 --- /dev/null +++ b/ext/standard/tests/dir/chdir_variation2.phpt @@ -0,0 +1,104 @@ +--TEST-- +Test chdir() function : usage variations - relative paths +--FILE-- +<?php +/* Prototype : bool chdir(string $directory) + * Description: Change the current directory + * Source code: ext/standard/dir.c + */ + +/* + * Test chdir() with variations of relative paths + */ + +echo "*** Testing chdir() : usage variations ***\n"; + +$base_dir_path = dirname(__FILE__); + +$level_one_dir_name = "level_one"; +$level_one_dir_path = "$base_dir_path/$level_one_dir_name"; + +$level_two_dir_name = "level_two"; +$level_two_dir_path = "$base_dir_path/$level_one_dir_name/$level_two_dir_name"; + +// create directories +mkdir($level_one_dir_path); +mkdir($level_two_dir_path); + +echo "\n-- \$directory = './level_one': --\n"; +var_dump(chdir($base_dir_path)); +var_dump(chdir("./$level_one_dir_name")); +var_dump(getcwd()); + +echo "\n-- \$directory = 'level_one/level_two': --\n"; +var_dump(chdir($base_dir_path)); +var_dump(chdir("$level_one_dir_name/$level_two_dir_name")); +var_dump(getcwd()); + +echo "\n-- \$directory = '..': --\n"; +var_dump(chdir('..')); +var_dump(getcwd()); + +echo "\n-- \$directory = 'level_two', '.': --\n"; +var_dump(chdir($level_two_dir_path)); +var_dump(chdir('.')); +var_dump(getcwd()); + +echo "\n-- \$directory = '../': --\n"; +var_dump(chdir('../')); +var_dump(getcwd()); + +echo "\n-- \$directory = './': --\n"; +var_dump(chdir($level_two_dir_path)); +var_dump(chdir('./')); +var_dump(getcwd()); + +echo "\n-- \$directory = '../../'level_one': --\n"; +var_dump(chdir($level_two_dir_path)); +var_dump(chdir("../../$level_one_dir_name")); +var_dump(getcwd()); + +?> +===DONE=== +--CLEAN-- +<?php +$file_path = dirname(__FILE__); +rmdir("$file_path/level_one/level_two"); +rmdir("$file_path/level_one"); +?> +--EXPECTF-- +*** Testing chdir() : usage variations *** + +-- $directory = './level_one': -- +bool(true) +bool(true) +string(%d) "%slevel_one" + +-- $directory = 'level_one/level_two': -- +bool(true) +bool(true) +string(%d) "%slevel_one%elevel_two" + +-- $directory = '..': -- +bool(true) +string(%d) "%slevel_one" + +-- $directory = 'level_two', '.': -- +bool(true) +bool(true) +string(%d) "%slevel_one%elevel_two" + +-- $directory = '../': -- +bool(true) +string(%d) "%slevel_one" + +-- $directory = './': -- +bool(true) +bool(true) +string(%d) "%slevel_one%elevel_two" + +-- $directory = '../../'level_one': -- +bool(true) +bool(true) +string(%d) "%slevel_one" +===DONE=== |