diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2013-03-14 05:42:27 +0000 |
---|---|---|
committer | <> | 2013-04-03 16:25:08 +0000 |
commit | c4dd7a1a684490673e25aaf4fabec5df138854c4 (patch) | |
tree | 4d57c44caae4480efff02b90b9be86f44bf25409 /ext/standard/tests/file/rename_variation12.phpt | |
download | php2-master.tar.gz |
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'ext/standard/tests/file/rename_variation12.phpt')
-rw-r--r-- | ext/standard/tests/file/rename_variation12.phpt | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/ext/standard/tests/file/rename_variation12.phpt b/ext/standard/tests/file/rename_variation12.phpt new file mode 100644 index 0000000..168beef --- /dev/null +++ b/ext/standard/tests/file/rename_variation12.phpt @@ -0,0 +1,121 @@ +--TEST-- +Test rename() function : variation - various relative, absolute paths +--CREDITS-- +Dave Kelsey <d_kelsey@uk.ibm.com> +--SKIPIF-- +<?php +if (substr(PHP_OS, 0, 3) == 'WIN') die('skip.. not for Windows'); +?> +--FILE-- +<?php +/* Prototype : bool rename(string old_name, string new_name[, resource context]) + * Description: Rename a file + * Source code: ext/standard/file.c + * Alias to functions: + */ + +/* Creating unique files in various dirs by passing relative paths to $dir arg */ + +echo "*** Testing rename() with absolute and relative paths ***\n"; +$mainDir = "renameVar11"; +$subDir = "renameVar11Sub"; +$absMainDir = dirname(__FILE__)."/".$mainDir; +mkdir($absMainDir); +$absSubDir = $absMainDir."/".$subDir; +mkdir($absSubDir); + +$fromFile = "renameMe.tmp"; +$toFile = "IwasRenamed.tmp"; + +$old_dir_path = getcwd(); +chdir(dirname(__FILE__)); + +$allDirs = array( + // absolute paths + "$absSubDir/", + "$absSubDir/../".$subDir, + "$absSubDir//.././".$subDir, + "$absSubDir/../../".$mainDir."/./".$subDir, + "$absSubDir/..///".$subDir."//..//../".$subDir, + "$absSubDir/BADDIR", + + + // relative paths + $mainDir."/".$subDir, + $mainDir."//".$subDir, + $mainDir."///".$subDir, + "./".$mainDir."/../".$mainDir."/".$subDir, + "BADDIR", +); + +for($i = 0; $i<count($allDirs); $i++) { + $j = $i+1; + $dir = $allDirs[$i]; + echo "\n-- Iteration $j --\n"; + touch($absSubDir."/".$fromFile); + $res = rename($dir."/".$fromFile, $dir."/".$toFile); + var_dump($res); + if ($res == true) { + $res = rename($dir."/".$toFile, $dir."/".$fromFile); + var_dump($res); + } + unlink($absSubDir."/".$fromFile); +} + +chdir($old_dir_path); +rmdir($absSubDir); +rmdir($absMainDir); + +echo "\n*** Done ***\n"; +?> +--EXPECTF-- +*** Testing rename() with absolute and relative paths *** + +-- Iteration 1 -- +bool(true) +bool(true) + +-- Iteration 2 -- +bool(true) +bool(true) + +-- Iteration 3 -- +bool(true) +bool(true) + +-- Iteration 4 -- +bool(true) +bool(true) + +-- Iteration 5 -- + +Warning: rename(%s/renameVar11/renameVar11Sub/..///renameVar11Sub//..//../renameVar11Sub/renameMe.tmp,%s/renameVar11/renameVar11Sub/..///renameVar11Sub//..//../renameVar11Sub/IwasRenamed.tmp): %s in %s on line %d +bool(false) + +-- Iteration 6 -- + +Warning: rename(%s/renameVar11/renameVar11Sub/BADDIR/renameMe.tmp,%s/renameVar11/renameVar11Sub/BADDIR/IwasRenamed.tmp): %s in %s on line %d +bool(false) + +-- Iteration 7 -- +bool(true) +bool(true) + +-- Iteration 8 -- +bool(true) +bool(true) + +-- Iteration 9 -- +bool(true) +bool(true) + +-- Iteration 10 -- +bool(true) +bool(true) + +-- Iteration 11 -- + +Warning: rename(BADDIR/renameMe.tmp,BADDIR/IwasRenamed.tmp): %s in %s on line %d +bool(false) + +*** Done *** |