Annotation of embedaddon/php/ext/standard/tests/file/rename_variation11-win32.phpt, revision 1.1.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")
                      8:   die("skip Only valid for Windows");
                      9: ?>
                     10: --FILE--
                     11: <?php
                     12: /* Prototype  : bool rename(string old_name, string new_name[, resource context])
                     13:  * Description: Rename a file 
                     14:  * Source code: ext/standard/file.c
                     15:  * Alias to functions: 
                     16:  */
                     17: 
                     18: echo "*** Testing rename() with absolute and relative paths ***\n";
                     19: $mainDir = "renameVar11";
                     20: $subDir = "renameVar11Sub";
                     21: $absMainDir = dirname(__FILE__)."\\".$mainDir;
                     22: mkdir($absMainDir);
                     23: $absSubDir = $absMainDir."\\".$subDir;
                     24: mkdir($absSubDir);
                     25: 
                     26: $fromFile = "renameMe.tmp";
                     27: $toFile = "IwasRenamed.tmp";
                     28: 
                     29: $old_dir_path = getcwd();
                     30: chdir(dirname(__FILE__));
                     31: $unixifiedDir = '/'.substr(str_replace('\\','/',$absSubDir),3);
                     32: 
                     33: 
                     34: $allDirs = array(
                     35:   // absolute paths
                     36:   "$absSubDir\\",
                     37:   "$absSubDir\\..\\".$subDir,
                     38:   "$absSubDir\\\\..\\.\\".$subDir,
                     39:   "$absSubDir\\..\\..\\".$mainDir."\\.\\".$subDir,
                     40:   "$absSubDir\\..\\\\\\".$subDir."\\\\..\\\\..\\".$subDir,
                     41:   "$absSubDir\\BADDIR",
                     42:   
                     43:   // relative paths
                     44:   $mainDir."\\".$subDir,
                     45:   $mainDir."\\\\".$subDir, 
                     46:    $mainDir."\\\\\\".$subDir, 
                     47:   ".\\".$mainDir."\\..\\".$mainDir."\\".$subDir,
                     48:   "BADDIR",  
                     49:   
                     50:   // unixifed path
                     51:   $unixifiedDir,
                     52: );
                     53: 
                     54: for($i = 0; $i<count($allDirs); $i++) {
                     55:   $j = $i+1;
                     56:   $dir = $allDirs[$i];
                     57:   echo "\n-- Iteration $j --\n";
                     58:   touch($absSubDir."\\".$fromFile);
                     59:   $res = rename($dir."\\".$fromFile, $dir."\\".$toFile);
                     60:   var_dump($res);
                     61:   if ($res == true) {
                     62:      $res = rename($dir."\\".$toFile, $dir."\\".$fromFile);
                     63:      var_dump($res);
                     64:   }
                     65:   unlink($absSubDir."\\".$fromFile);
                     66: }
                     67: 
                     68: chdir($old_dir_path);
                     69: rmdir($absSubDir);
                     70: rmdir($absMainDir);
                     71: 
                     72: echo "\n*** Done ***\n";
                     73: ?>
                     74: --EXPECTF--
                     75: *** Testing rename() with absolute and relative paths ***
                     76: 
                     77: -- Iteration 1 --
                     78: bool(true)
                     79: bool(true)
                     80: 
                     81: -- Iteration 2 --
                     82: bool(true)
                     83: bool(true)
                     84: 
                     85: -- Iteration 3 --
                     86: bool(true)
                     87: bool(true)
                     88: 
                     89: -- Iteration 4 --
                     90: bool(true)
                     91: bool(true)
                     92: 
                     93: -- Iteration 5 --
                     94: 
                     95: Warning: rename(%s\renameVar11\renameVar11Sub\..\\\renameVar11Sub\\..\\..\renameVar11Sub\renameMe.tmp,%s\renameVar11\renameVar11Sub\..\\\renameVar11Sub\\..\\..\renameVar11Sub\IwasRenamed.tmp): The system cannot find the path specified. (code: 3) in %s on line %d
                     96: bool(false)
                     97: 
                     98: -- Iteration 6 --
                     99: 
                    100: Warning: rename(%s\renameVar11\renameVar11Sub\BADDIR\renameMe.tmp,%s\renameVar11\renameVar11Sub\BADDIR\IwasRenamed.tmp): The system cannot find the path specified. (code: 3) in %s on line %d
                    101: bool(false)
                    102: 
                    103: -- Iteration 7 --
                    104: bool(true)
                    105: bool(true)
                    106: 
                    107: -- Iteration 8 --
                    108: bool(true)
                    109: bool(true)
                    110: 
                    111: -- Iteration 9 --
                    112: bool(true)
                    113: bool(true)
                    114: 
                    115: -- Iteration 10 --
                    116: bool(true)
                    117: bool(true)
                    118: 
                    119: -- Iteration 11 --
                    120: 
                    121: Warning: rename(BADDIR\renameMe.tmp,BADDIR\IwasRenamed.tmp): The system cannot find the path specified. (code: 3) in %s on line %d
                    122: bool(false)
                    123: 
                    124: -- Iteration 12 --
                    125: bool(true)
                    126: bool(true)
                    127: 
                    128: *** Done ***

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