summaryrefslogtreecommitdiff
path: root/ext/standard/tests/file/copy_variation16.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/tests/file/copy_variation16.phpt')
-rw-r--r--ext/standard/tests/file/copy_variation16.phpt143
1 files changed, 143 insertions, 0 deletions
diff --git a/ext/standard/tests/file/copy_variation16.phpt b/ext/standard/tests/file/copy_variation16.phpt
new file mode 100644
index 0000000..9ad834b
--- /dev/null
+++ b/ext/standard/tests/file/copy_variation16.phpt
@@ -0,0 +1,143 @@
+--TEST--
+Test copy() function: usage variations - copy data file across dirs
+--SKIPIF--
+<?php
+if(substr(PHP_OS, 0, 3) == "WIN")
+ die("skip Do not run on Windows");
+?>
+--FILE--
+<?php
+/* Prototype: bool copy ( string $source, string $dest );
+ Description: Makes a copy of the file source to dest.
+ Returns TRUE on success or FALSE on failure.
+*/
+
+/* Test copy() function: Trying to create copy of source file
+ into different destination dir paths given in various notations */
+
+echo "*** Testing copy() function: copying data file across directories ***\n";
+$base_dir = dirname(__FILE__)."/copy_variation16";
+mkdir($base_dir);
+
+$sub_dir = $base_dir."/copy_variation16_sub";
+mkdir($sub_dir);
+
+$dirname_with_blank = $sub_dir."/copy variation6";
+mkdir($dirname_with_blank);
+
+$src_file_name = dirname(__FILE__)."/copy_variation16.tmp";
+$file_handle = fopen($src_file_name, "w");
+fwrite($file_handle, str_repeat("Hello world, this is 2007 year ...\n", 100));
+fclose($file_handle);
+
+echo "- Size of source file => ";
+var_dump( filesize($src_file_name) );
+clearstatcache();
+
+$dests = array(
+ $base_dir."/copy_copy_variation16.tmp",
+ $base_dir."/copy_variation16_sub/copy_copy_variation16.tmp",
+ "$sub_dir/copy_copy_variation16.tmp",
+ "$sub_dir/../copy_copy_variation16.tmp",
+ "$sub_dir/../copy_variation16_sub/copy_copy_variation16.tmp",
+ "$sub_dir/..///../copy_copy_variation16.tmp",
+ "$sub_dir/..///../*",
+ "$dirname_with_blank/copy_copy_variation16.tmp"
+);
+
+echo "\n--- Now applying copy() on source file to create copies ---";
+$count = 1;
+foreach($dests as $dest) {
+ echo "\n-- Iteration $count --\n";
+
+ echo "Size of source file => ";
+ var_dump( filesize($src_file_name) );
+
+ echo "Copy operation => ";
+ var_dump( copy($src_file_name, $dest) );
+
+ echo "Existence of destination file => ";
+ var_dump( file_exists($dest) );
+
+ echo "Destination file name is => ";
+ print($dest);
+ echo "\n";
+
+ echo "Size of destination file => ";
+ var_dump( filesize($dest) );
+ clearstatcache();
+
+ unlink("$dest");
+
+ $count++;
+}
+
+unlink($src_file_name);
+rmdir($dirname_with_blank);
+rmdir($sub_dir);
+rmdir($base_dir);
+
+echo "*** Done ***\n";
+?>
+
+--EXPECTF--
+*** Testing copy() function: copying data file across directories ***
+- Size of source file => int(3500)
+
+--- Now applying copy() on source file to create copies ---
+-- Iteration 1 --
+Size of source file => int(3500)
+Copy operation => bool(true)
+Existence of destination file => bool(true)
+Destination file name is => %s/copy_variation16/copy_copy_variation16.tmp
+Size of destination file => int(3500)
+
+-- Iteration 2 --
+Size of source file => int(3500)
+Copy operation => bool(true)
+Existence of destination file => bool(true)
+Destination file name is => %s/copy_variation16/copy_variation16_sub/copy_copy_variation16.tmp
+Size of destination file => int(3500)
+
+-- Iteration 3 --
+Size of source file => int(3500)
+Copy operation => bool(true)
+Existence of destination file => bool(true)
+Destination file name is => %s/copy_variation16/copy_variation16_sub/copy_copy_variation16.tmp
+Size of destination file => int(3500)
+
+-- Iteration 4 --
+Size of source file => int(3500)
+Copy operation => bool(true)
+Existence of destination file => bool(true)
+Destination file name is => %s/copy_variation16/copy_variation16_sub/../copy_copy_variation16.tmp
+Size of destination file => int(3500)
+
+-- Iteration 5 --
+Size of source file => int(3500)
+Copy operation => bool(true)
+Existence of destination file => bool(true)
+Destination file name is => %s/copy_variation16/copy_variation16_sub/../copy_variation16_sub/copy_copy_variation16.tmp
+Size of destination file => int(3500)
+
+-- Iteration 6 --
+Size of source file => int(3500)
+Copy operation => bool(true)
+Existence of destination file => bool(true)
+Destination file name is => %s/copy_variation16/copy_variation16_sub/..///../copy_copy_variation16.tmp
+Size of destination file => int(3500)
+
+-- Iteration 7 --
+Size of source file => int(3500)
+Copy operation => bool(true)
+Existence of destination file => bool(true)
+Destination file name is => %s/copy_variation16/copy_variation16_sub/..///../*
+Size of destination file => int(3500)
+
+-- Iteration 8 --
+Size of source file => int(3500)
+Copy operation => bool(true)
+Existence of destination file => bool(true)
+Destination file name is => %s/copy_variation16/copy_variation16_sub/copy variation6/copy_copy_variation16.tmp
+Size of destination file => int(3500)
+*** Done ***