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>