Annotation of embedaddon/php/ext/standard/tests/file/readlink_realpath_basic2.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test readlink() and realpath functions: basic functionality - diff. path notation for files
3: --SKIPIF--
4: <?php
5: if (substr(PHP_OS, 0, 3) == 'WIN') {
6: die('skip no symlinks on Windows');
7: }
8: ?>
9: --FILE--
10: <?php
11: /* Prototype: string readlink ( string $path );
12: Description: Returns the target of a symbolic link
13:
14: Prototype: string realpath ( string $path );
15: Description: Returns canonicalized absolute pathname
16: */
17:
18: /* creating directories, symbolic links and files */
19: $file_path = dirname(__FILE__);
20: mkdir("$file_path/readlink_realpath_basic2/home/test/", 0777, true);
21:
22: $file_handle1 = fopen("$file_path/readlink_realpath_basic2/home/test/readlink_realpath_basic2.tmp", "w");
23: $file_handle2 = fopen("$file_path/readlink_realpath_basic2/home/readlink_realpath_basic2.tmp", "w");
24: $file_handle3 = fopen("$file_path/readlink_realpath_basic2/readlink_realpath_basic2.tmp", "w");
25: fclose($file_handle1);
26: fclose($file_handle2);
27: fclose($file_handle3);
28:
29: echo "\n*** Testing realpath() on filenames ***\n";
30: $filenames = array (
31: /* filenames resulting in valid paths */
32: "$file_path/readlink_realpath_basic2/home/readlink_realpath_basic2.tmp",
33: "$file_path/readlink_realpath_basic2/readlink_realpath_basic2.tmp",
34: "$file_path/readlink_realpath_basic2//home/test//../test/./readlink_realpath_basic2.tmp",
35: "$file_path/readlink_realpath_basic2/home//../././readlink_realpath_basic2.tmp",
36:
37: /* filenames with invalid path */
38: "$file_path///readlink_realpath_basic2/home//..//././test//readlink_realpath_basic2.tmp",
39: "$file_path/readlink_realpath_basic2/home/../home/../test/../readlink_realpath_basic2.tmp",
40: "$file_path/readlink_realpath_basic2/readlink_realpath_basic2.tmp/"
41: );
42:
43: $counter = 1;
44: /* loop through $files to read the filepath of $file in the above array */
45: foreach($filenames as $file) {
46: echo "\n-- Iteration $counter --\n";
47: var_dump( realpath($file) );
48: $counter++;
49: }
50:
51: echo "Done\n";
52: ?>
53: --CLEAN--
54: <?php
55: $name_prefix = dirname(__FILE__)."/readlink_realpath_basic2";
56: unlink("$name_prefix/home/test/readlink_realpath_basic2.tmp");
57: unlink("$name_prefix/home/readlink_realpath_basic2.tmp");
58: unlink("$name_prefix/readlink_realpath_basic2.tmp");
59: rmdir("$name_prefix/home/test/");
60: rmdir("$name_prefix/home/");
61: rmdir("$name_prefix/");
62: ?>
63: --EXPECTF--
64: *** Testing realpath() on filenames ***
65:
66: -- Iteration 1 --
67: string(%d) "%s/readlink_realpath_basic2/home/readlink_realpath_basic2.tmp"
68:
69: -- Iteration 2 --
70: string(%d) "%s/readlink_realpath_basic2/readlink_realpath_basic2.tmp"
71:
72: -- Iteration 3 --
73: string(%d) "%s/readlink_realpath_basic2/home/test/readlink_realpath_basic2.tmp"
74:
75: -- Iteration 4 --
76: string(%d) "%s/readlink_realpath_basic2/readlink_realpath_basic2.tmp"
77:
78: -- Iteration 5 --
79: bool(false)
80:
81: -- Iteration 6 --
82: bool(false)
83:
84: -- Iteration 7 --
85: %s
86: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>