Annotation of embedaddon/php/ext/standard/tests/file/rename_variation12.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') 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>