Annotation of embedaddon/php/ext/standard/tests/file/symlink_link_linkinfo_is_link_basic1.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test symlink(), linkinfo(), link() and is_link() functions: basic functionality - link to 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: bool symlink ( string $target, string $link );
12: Description: creates a symbolic link to the existing target with the specified name link
13:
14: Prototype: bool is_link ( string $filename );
15: Description: Tells whether the given file is a symbolic link.
16:
17: Prototype: bool link ( string $target, string $link );
18: Description: Create a hard link
19:
20: Prototype: int linkinfo ( string $path );
21: Description: Gets information about a link
22: */
23:
24: $file_path = dirname(__FILE__);
25:
26: // temp dir created in present working directory
27: $dirname = "symlink_link_linkinfo_is_link_basic1";
28: mkdir("$file_path/$dirname"); // creating temp dir
29:
30: /* Creating soft/hard link to $filename created in temp directory $dirname
31: and checking linkinfo() and is_link() on the link created */
32:
33: echo "*** Testing symlink(), linkinfo(), link() and is_link() : basic functionality ***\n";
34:
35: // creating file in $dirname, links are created to the this file
36: $filename = "$file_path/$dirname/symlink_link_linkinfo_is_link_basic1.tmp";
37: $filename = fopen($filename, "w");
38: fclose($filename);
39:
40: // name of the soft link created to $filename
41: $sym_linkname = "$file_path/$dirname/symlink_link_linkinfo_is_link_softlink_basic1.tmp";
42:
43: // name of the hard link created to $filename
44: $linkname = "$file_path/$dirname/symlink_link_linkinfo_is_link_hardlink_basic1.tmp";
45:
46: // filename stored in array with single and double slash notation in its path
47: $files = array (
48: "$file_path/$dirname/symlink_link_linkinfo_is_link_basic1.tmp",
49: "$file_path//$dirname//symlink_link_linkinfo_is_link_basic1.tmp"
50: );
51:
52: $counter = 1;
53: /* create soft/hard link to the file
54: and check linkinfo() and is_link() on the link created */
55: foreach($files as $file) {
56: echo "\n-- Iteration $counter --\n";
57: echo "-- Testing on soft links --\n";
58: // create soft link
59: var_dump( symlink($file, $sym_linkname) );
60: // checking information of link with linkinfo()
61: var_dump( linkinfo($sym_linkname) );
62: // checking if given file is soft link
63: var_dump( is_link($sym_linkname) );
64: // clear the cache
65: clearstatcache();
66:
67: // testing on hard link
68: echo "-- Testing on hard links --\n";
69: // creating hard link
70: var_dump( link($file, $linkname) );
71: // checking information of link with linkinfo()
72: var_dump( linkinfo($linkname) );
73: // checking if given link is soft link; expected: false
74: var_dump( is_link($linkname) );
75: // clear the cache
76: clearstatcache();
77:
78: // deleting the links
79: unlink($sym_linkname);
80: unlink($linkname);
81: $counter++;
82: }
83:
84: echo "Done\n";
85: ?>
86: --CLEAN--
87: <?php
88: $dirname = dirname(__FILE__)."/symlink_link_linkinfo_is_link_basic1";
89: unlink("$dirname/symlink_link_linkinfo_is_link_basic1.tmp");
90: rmdir($dirname);
91: ?>
92: --EXPECTF--
93: *** Testing symlink(), linkinfo(), link() and is_link() : basic functionality ***
94:
95: -- Iteration 1 --
96: -- Testing on soft links --
97: bool(true)
98: int(%d)
99: bool(true)
100: -- Testing on hard links --
101: bool(true)
102: int(%d)
103: bool(false)
104:
105: -- Iteration 2 --
106: -- Testing on soft links --
107: bool(true)
108: int(%d)
109: bool(true)
110: -- Testing on hard links --
111: bool(true)
112: int(%d)
113: bool(false)
114: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>