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>