diff options
Diffstat (limited to 'ext/standard/tests/file/realpath_basic-win32.phpt')
-rw-r--r-- | ext/standard/tests/file/realpath_basic-win32.phpt | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/ext/standard/tests/file/realpath_basic-win32.phpt b/ext/standard/tests/file/realpath_basic-win32.phpt new file mode 100644 index 0000000..5ebfcff --- /dev/null +++ b/ext/standard/tests/file/realpath_basic-win32.phpt @@ -0,0 +1,89 @@ +--TEST-- +Test realpath() function: basic functionality +--SKIPIF-- +<?php +if (substr(PHP_OS, 0, 3) != 'WIN') { + die('skip only on Windows'); +} +?> +--FILE-- +<?php +/* Prototype: string realpath ( string $path ); + Description: Returns canonicalized absolute pathname +*/ + +echo "\n*** Testing basic functions of realpath() with files ***\n"; + +/* creating directories and files */ +$file_path = dirname(__FILE__); +mkdir("$file_path/realpath_basic/home/test/", 0777, true); + +$file_handle1 = fopen("$file_path/realpath_basic/home/test/realpath_basic.tmp", "w"); +$file_handle2 = fopen("$file_path/realpath_basic/home/realpath_basic.tmp", "w"); +$file_handle3 = fopen("$file_path/realpath_basic/realpath_basic.tmp", "w"); +fclose($file_handle1); +fclose($file_handle2); +fclose($file_handle3); + +echo "\n*** Testing realpath() on filenames ***\n"; +$filenames = array ( + /* filenames resulting in valid paths */ + "$file_path/realpath_basic/home/realpath_basic.tmp", + "$file_path/realpath_basic/realpath_basic.tmp/", + "$file_path/realpath_basic//home/test//../test/./realpath_basic.tmp", + "$file_path/realpath_basic/home//../././realpath_basic.tmp//", + + // checking for binary safe + b"$file_path/realpath_basic/home/realpath_basic.tmp", + + /* filenames with invalid path */ + "$file_path///realpath_basic/home//..//././test//realpath_basic.tmp", + "$file_path/realpath_basic/home/../home/../test/../..realpath_basic.tmp" +); + +$counter = 1; +/* loop through $files to read the filepath of $file in the above array */ +foreach($filenames as $file) { + echo "\n-- Iteration $counter --\n"; + var_dump( realpath($file) ); + $counter++; +} + +echo "Done\n"; +?> +--CLEAN-- +<?php +$name_prefix = dirname(__FILE__)."/realpath_basic"; +unlink("$name_prefix/home/test/realpath_basic.tmp"); +unlink("$name_prefix/home/realpath_basic.tmp"); +unlink("$name_prefix/realpath_basic.tmp"); +rmdir("$name_prefix/home/test/"); +rmdir("$name_prefix/home/"); +rmdir("$name_prefix/"); +?> +--EXPECTF-- +*** Testing basic functions of realpath() with files *** + +*** Testing realpath() on filenames *** + +-- Iteration 1 -- +string(%d) "%s\realpath_basic\home\realpath_basic.tmp" + +-- Iteration 2 -- +bool(false) + +-- Iteration 3 -- +string(%d) "%s\realpath_basic\home\test\realpath_basic.tmp" + +-- Iteration 4 -- +bool(false) + +-- Iteration 5 -- +string(%d) "%s\realpath_basic\home\realpath_basic.tmp" + +-- Iteration 6 -- +bool(false) + +-- Iteration 7 -- +bool(false) +Done |