Annotation of embedaddon/php/ext/standard/tests/file/symlink_link_linkinfo_is_link_basic1.phpt, revision 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>