summaryrefslogtreecommitdiff
path: root/ext/zip/tests/oo_replacefile.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/zip/tests/oo_replacefile.phpt')
-rw-r--r--ext/zip/tests/oo_replacefile.phpt54
1 files changed, 54 insertions, 0 deletions
diff --git a/ext/zip/tests/oo_replacefile.phpt b/ext/zip/tests/oo_replacefile.phpt
new file mode 100644
index 0000000000..486928c069
--- /dev/null
+++ b/ext/zip/tests/oo_replacefile.phpt
@@ -0,0 +1,54 @@
+--TEST--
+ziparchive::replaceFile() function
+--SKIPIF--
+<?php
+if(!extension_loaded('zip')) die('skip');
+?>
+--FILE--
+<?php
+
+$dirname = __DIR__ . '/';
+include $dirname . 'utils.inc';
+$file = $dirname . 'oo_replacefile.zip';
+
+copy($dirname . 'test.zip', $file);
+
+$zip = new ZipArchive;
+if (!$zip->open($file)) {
+ exit('open failed');
+}
+if ($zip->replaceFile($dirname . 'utils.inc', 5)) {
+ echo "replace 5 succeed\n";
+}
+if (!$zip->replaceFile($dirname . 'utils.inc', 0)) {
+ echo "replace 0 failed\n";
+}
+if (!$zip->replaceFile($dirname . 'utils.inc', 2, 12, 42)) {
+ echo "replace 2 failed\n";
+}
+if ($zip->status == ZIPARCHIVE::ER_OK) {
+ if (!verify_entries($zip, [
+ "bar",
+ "foobar/",
+ "foobar/baz",
+ "entry1.txt",
+ ])) {
+ echo "verify failed\n";
+ } else {
+ echo "OK\n";
+ }
+ $zip->close();
+} else {
+ echo "failed\n";
+}
+if (!$zip->open($file)) {
+ exit('re-open failed');
+}
+var_dump(strlen($zip->getFromName('bar')) == filesize($dirname . 'utils.inc'));
+var_dump(strlen($zip->getFromName('foobar/baz')) == 42);
+@unlink($file);
+?>
+--EXPECT--
+OK
+bool(true)
+bool(true)