Annotation of embedaddon/php/ext/standard/tests/file/symlink_link_linkinfo_is_link_variation1.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test symlink(), linkinfo(), link() and is_link() functions : usage variations - link name stored in an array/object
! 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: /* Variation 1 : Creating links across directories where linkname is stored as an object and array member */
! 25:
! 26: // creating temp directory which will contain temp file and links created
! 27: $file_path = dirname(__FILE__);
! 28: $dirname = "$file_path/symlink_link_linkinfo_is_link_variation1/test/home";
! 29: mkdir($dirname, 0777, true);
! 30:
! 31: // creating temp file; links are created to this file later on
! 32: $filename = "$file_path/symlink_link_linkinfo_is_link_variation1/symlink_link_linkinfo_is_link_variation1.tmp";
! 33: $fp = fopen($filename, "w");
! 34: fclose($fp);
! 35:
! 36: echo "*** Testing symlink(), link(), linkinfo() and is_link() with linknames stored as members in an object ***\n";
! 37: class object_temp {
! 38: var $linkname;
! 39: function object_temp($link) {
! 40: $this->linkname = $link;
! 41: }
! 42: }
! 43:
! 44: $obj = new object_temp("$dirname/symlink_link_linkinfo_is_link_link.tmp");
! 45: /* Testing on soft links */
! 46: echo "\n-- Working with soft links --\n";
! 47: // creating soft link
! 48: var_dump( symlink($filename, $obj->linkname) );
! 49: // check if the link exists
! 50: var_dump( linkinfo($obj->linkname) );
! 51: // check if link is soft link
! 52: var_dump( is_link($obj->linkname) );
! 53: // delete the link created
! 54: unlink($obj->linkname);
! 55: // clear the cache
! 56: clearstatcache();
! 57:
! 58: /* Testing on hard links */
! 59: echo "\n-- Working with hard links --\n";
! 60: // creating hard link
! 61: var_dump( link($filename, $obj->linkname) );
! 62: // check if the link exists
! 63: var_dump( linkinfo($obj->linkname) );
! 64: // check if link is soft link; expected: false as the link is a hardlink
! 65: var_dump( is_link($obj->linkname) );
! 66: // delete the link created
! 67: unlink($obj->linkname);
! 68: // clear the cache
! 69: clearstatcache();
! 70:
! 71: echo "\n*** Testing symlink(), link(), linkinfo() and is_link() with linknames stored as members of an array ***\n";
! 72:
! 73: $link_arr = array("$dirname/symlink_link_linkinfo_is_link_link.tmp");
! 74:
! 75: /* Testing on soft links */
! 76: echo "\n-- Working with soft links --\n";
! 77: // creating soft link
! 78: var_dump( symlink($filename, $link_arr[0]) );
! 79: // check if the link exist
! 80: var_dump( linkinfo($link_arr[0]) );
! 81: // check if link is soft link
! 82: var_dump( is_link($link_arr[0]) );
! 83: // delete the link created
! 84: unlink($link_arr[0]);
! 85: // clear the cache
! 86: clearstatcache();
! 87:
! 88: /* Testing on hard links */
! 89: echo "\n-- Working with hard links --\n";
! 90: // creating hard link
! 91: var_dump( link($filename, $link_arr[0]) );
! 92: // check if the link exist
! 93: var_dump( linkinfo($link_arr[0]) );
! 94: // check if link is soft link; expected: false as this is a hardlink
! 95: var_dump( is_link($link_arr[0]) );
! 96: // delete the links created
! 97: unlink($link_arr[0]);
! 98: // clear the cache
! 99: clearstatcache();
! 100:
! 101: echo "Done\n";
! 102: ?>
! 103: --CLEAN--
! 104: <?php
! 105: $file_path = dirname(__FILE__);
! 106: $dirname = "$file_path/symlink_link_linkinfo_is_link_variation1";
! 107: unlink("$dirname/symlink_link_linkinfo_is_link_variation1.tmp");
! 108: rmdir("$dirname/test/home");
! 109: rmdir("$dirname/test");
! 110: rmdir($dirname);
! 111: ?>
! 112: --EXPECTF--
! 113: *** Testing symlink(), link(), linkinfo() and is_link() with linknames stored as members in an object ***
! 114:
! 115: -- Working with soft links --
! 116: bool(true)
! 117: int(%d)
! 118: bool(true)
! 119:
! 120: -- Working with hard links --
! 121: bool(true)
! 122: int(%d)
! 123: bool(false)
! 124:
! 125: *** Testing symlink(), link(), linkinfo() and is_link() with linknames stored as members of an array ***
! 126:
! 127: -- Working with soft links --
! 128: bool(true)
! 129: int(%d)
! 130: bool(true)
! 131:
! 132: -- Working with hard links --
! 133: bool(true)
! 134: int(%d)
! 135: bool(false)
! 136: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>