Annotation of embedaddon/php/ext/standard/tests/file/rename_variation12.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Test rename() function : variation - various relative, absolute paths
        !             3: --CREDITS--
        !             4: Dave Kelsey <d_kelsey@uk.ibm.com>
        !             5: --SKIPIF--
        !             6: <?php
        !             7: if (substr(PHP_OS, 0, 3) == 'WIN') die('skip..  not for Windows');
        !             8: ?>
        !             9: --FILE--
        !            10: <?php
        !            11: /* Prototype  : bool rename(string old_name, string new_name[, resource context])
        !            12:  * Description: Rename a file 
        !            13:  * Source code: ext/standard/file.c
        !            14:  * Alias to functions: 
        !            15:  */
        !            16: 
        !            17: /* Creating unique files in various dirs by passing relative paths to $dir arg */
        !            18: 
        !            19: echo "*** Testing rename() with absolute and relative paths ***\n";
        !            20: $mainDir = "renameVar11";
        !            21: $subDir = "renameVar11Sub";
        !            22: $absMainDir = dirname(__FILE__)."/".$mainDir;
        !            23: mkdir($absMainDir);
        !            24: $absSubDir = $absMainDir."/".$subDir;
        !            25: mkdir($absSubDir);
        !            26: 
        !            27: $fromFile = "renameMe.tmp";
        !            28: $toFile = "IwasRenamed.tmp";
        !            29: 
        !            30: $old_dir_path = getcwd();
        !            31: chdir(dirname(__FILE__));
        !            32: 
        !            33: $allDirs = array(
        !            34:   // absolute paths
        !            35:   "$absSubDir/",
        !            36:   "$absSubDir/../".$subDir,
        !            37:   "$absSubDir//.././".$subDir,
        !            38:   "$absSubDir/../../".$mainDir."/./".$subDir,
        !            39:   "$absSubDir/..///".$subDir."//..//../".$subDir,
        !            40:   "$absSubDir/BADDIR",
        !            41:   
        !            42:   
        !            43:   // relative paths
        !            44:   $mainDir."/".$subDir,
        !            45:   $mainDir."//".$subDir, 
        !            46:    $mainDir."///".$subDir, 
        !            47:   "./".$mainDir."/../".$mainDir."/".$subDir,
        !            48:   "BADDIR",  
        !            49: );
        !            50: 
        !            51: for($i = 0; $i<count($allDirs); $i++) {
        !            52:   $j = $i+1;
        !            53:   $dir = $allDirs[$i];
        !            54:   echo "\n-- Iteration $j --\n";
        !            55:   touch($absSubDir."/".$fromFile);
        !            56:   $res = rename($dir."/".$fromFile, $dir."/".$toFile);
        !            57:   var_dump($res);
        !            58:   if ($res == true) {
        !            59:      $res = rename($dir."/".$toFile, $dir."/".$fromFile);
        !            60:      var_dump($res);
        !            61:   }
        !            62:   unlink($absSubDir."/".$fromFile);
        !            63: }
        !            64: 
        !            65: chdir($old_dir_path);
        !            66: rmdir($absSubDir);
        !            67: rmdir($absMainDir);
        !            68: 
        !            69: echo "\n*** Done ***\n";
        !            70: ?>
        !            71: --EXPECTF--
        !            72: *** Testing rename() with absolute and relative paths ***
        !            73: 
        !            74: -- Iteration 1 --
        !            75: bool(true)
        !            76: bool(true)
        !            77: 
        !            78: -- Iteration 2 --
        !            79: bool(true)
        !            80: bool(true)
        !            81: 
        !            82: -- Iteration 3 --
        !            83: bool(true)
        !            84: bool(true)
        !            85: 
        !            86: -- Iteration 4 --
        !            87: bool(true)
        !            88: bool(true)
        !            89: 
        !            90: -- Iteration 5 --
        !            91: 
        !            92: Warning: rename(%s/renameVar11/renameVar11Sub/..///renameVar11Sub//..//../renameVar11Sub/renameMe.tmp,%s/renameVar11/renameVar11Sub/..///renameVar11Sub//..//../renameVar11Sub/IwasRenamed.tmp): %s in %s on line %d
        !            93: bool(false)
        !            94: 
        !            95: -- Iteration 6 --
        !            96: 
        !            97: Warning: rename(%s/renameVar11/renameVar11Sub/BADDIR/renameMe.tmp,%s/renameVar11/renameVar11Sub/BADDIR/IwasRenamed.tmp): %s in %s on line %d
        !            98: bool(false)
        !            99: 
        !           100: -- Iteration 7 --
        !           101: bool(true)
        !           102: bool(true)
        !           103: 
        !           104: -- Iteration 8 --
        !           105: bool(true)
        !           106: bool(true)
        !           107: 
        !           108: -- Iteration 9 --
        !           109: bool(true)
        !           110: bool(true)
        !           111: 
        !           112: -- Iteration 10 --
        !           113: bool(true)
        !           114: bool(true)
        !           115: 
        !           116: -- Iteration 11 --
        !           117: 
        !           118: Warning: rename(BADDIR/renameMe.tmp,BADDIR/IwasRenamed.tmp): %s in %s on line %d
        !           119: bool(false)
        !           120: 
        !           121: *** Done ***

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>