diff options
| author | Mark A. Hershberger <mah@debian.(none)> | 2009-03-25 00:38:07 -0400 |
|---|---|---|
| committer | Mark A. Hershberger <mah@debian.(none)> | 2009-03-25 00:38:07 -0400 |
| commit | bb01389fbd53ec1cbcb80d0681a37cca1267891a (patch) | |
| tree | 4783178fca65a5d9071c8df34f2ddc3d31728673 /ext/standard/tests/file/readlink_realpath_basic2.phpt | |
| parent | eddbbea4325e602ddc87c545531609132d4f0e3b (diff) | |
| download | php-upstream/5.2.4.tar.gz | |
Imported Upstream version 5.2.4upstream/5.2.4
Diffstat (limited to 'ext/standard/tests/file/readlink_realpath_basic2.phpt')
| -rw-r--r-- | ext/standard/tests/file/readlink_realpath_basic2.phpt | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/ext/standard/tests/file/readlink_realpath_basic2.phpt b/ext/standard/tests/file/readlink_realpath_basic2.phpt new file mode 100644 index 000000000..7a9e741ef --- /dev/null +++ b/ext/standard/tests/file/readlink_realpath_basic2.phpt @@ -0,0 +1,92 @@ +--TEST-- +Test readlink() and realpath functions: basic functionality - diff. path notation for files +--SKIPIF-- +<?php +if (substr(PHP_OS, 0, 3) == 'WIN') { + die('skip no symlinks on Windows'); +} +?> +--FILE-- +<?php +/* Prototype: string readlink ( string $path ); + Description: Returns the target of a symbolic link + + Prototype: string realpath ( string $path ); + Description: Returns canonicalized absolute pathname +*/ + +/* creating directories, symbolic links and files */ +$file_path = dirname(__FILE__); +mkdir("$file_path/readlink_realpath_basic2/home/test/", 0777, true); + +$file_handle1 = fopen("$file_path/readlink_realpath_basic2/home/test/readlink_realpath_basic2.tmp", "w"); +$file_handle2 = fopen("$file_path/readlink_realpath_basic2/home/readlink_realpath_basic2.tmp", "w"); +$file_handle3 = fopen("$file_path/readlink_realpath_basic2/readlink_realpath_basic2.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/readlink_realpath_basic2/home/readlink_realpath_basic2.tmp", + "$file_path/readlink_realpath_basic2/readlink_realpath_basic2.tmp", + "$file_path/readlink_realpath_basic2//home/test//../test/./readlink_realpath_basic2.tmp", + "$file_path/readlink_realpath_basic2/home//../././readlink_realpath_basic2.tmp", + + // checking for binary safe + b"$file_path/readlink_realpath_basic2/home/readlink_realpath_basic2.tmp", + + /* filenames with invalid path */ + "$file_path///readlink_realpath_basic2/home//..//././test//readlink_realpath_basic2.tmp", + "$file_path/readlink_realpath_basic2/home/../home/../test/../readlink_realpath_basic2.tmp", + "$file_path/readlink_realpath_basic2/readlink_realpath_basic2.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__)."/readlink_realpath_basic2"; +unlink("$name_prefix/home/test/readlink_realpath_basic2.tmp"); +unlink("$name_prefix/home/readlink_realpath_basic2.tmp"); +unlink("$name_prefix/readlink_realpath_basic2.tmp"); +rmdir("$name_prefix/home/test/"); +rmdir("$name_prefix/home/"); +rmdir("$name_prefix/"); +?> +--EXPECTF-- +*** Testing realpath() on filenames *** + +-- Iteration 1 -- +string(%d) "%s/readlink_realpath_basic2/home/readlink_realpath_basic2.tmp" + +-- Iteration 2 -- +string(%d) "%s/readlink_realpath_basic2/readlink_realpath_basic2.tmp" + +-- Iteration 3 -- +string(%d) "%s/readlink_realpath_basic2/home/test/readlink_realpath_basic2.tmp" + +-- Iteration 4 -- +string(%d) "%s/readlink_realpath_basic2/readlink_realpath_basic2.tmp" + +-- Iteration 5 -- +string(%d) "%s/readlink_realpath_basic2/home/readlink_realpath_basic2.tmp" + +-- Iteration 6 -- +bool(false) + +-- Iteration 7 -- +bool(false) + +-- Iteration 8 -- +%s +Done |
