summaryrefslogtreecommitdiff
path: root/ext/zip/tests/bug7658.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/zip/tests/bug7658.phpt')
-rw-r--r--ext/zip/tests/bug7658.phpt55
1 files changed, 55 insertions, 0 deletions
diff --git a/ext/zip/tests/bug7658.phpt b/ext/zip/tests/bug7658.phpt
new file mode 100644
index 0000000..56fd00f
--- /dev/null
+++ b/ext/zip/tests/bug7658.phpt
@@ -0,0 +1,55 @@
+--TEST--
+Bug #7658 (modify archive with general bit flag 3 set)
+--SKIPIF--
+<?php
+/* $Id$ */
+if(!extension_loaded('zip')) die('skip');
+?>
+--FILE--
+<?php
+$expect = array(
+ "mimetype",
+ "Configurations2/statusbar/",
+ "Configurations2/accelerator/current.xml",
+ "Configurations2/floater/",
+ "Configurations2/popupmenu/",
+ "Configurations2/progressbar/",
+ "Configurations2/menubar/",
+ "Configurations2/toolbar/",
+ "Configurations2/images/Bitmaps/",
+ "content.xml",
+ "styles.xml",
+ "meta.xml",
+ "Thumbnails/thumbnail.png",
+ "settings.xml",
+ "META-INF/manifest.xml",
+);
+$dirname = dirname(__FILE__) . '/';
+include $dirname . 'utils.inc';
+$file = $dirname . '__tmp_bug7658.odt';
+$zip = new ZipArchive();
+copy($dirname . 'bug7658.odt', $file);
+if(!$zip->open($file)) {
+ echo 'failed';
+}
+
+
+$zip->deleteName('content.xml');
+$zip->addFile($dirname . "bug7658.xml","content.xml");
+$zip->close();
+echo "\n";
+$zip->open($file);
+
+for($i=0; $i < $zip->numFiles; $i++) {
+ $sb = $zip->statIndex($i);
+ $found[] = $sb['name'];
+}
+$ar = array_diff($found, $expect);
+
+var_dump($ar);
+unset($zip);
+unlink($file);
+?>
+--EXPECTF--
+array(0) {
+}