diff options
Diffstat (limited to 'ext/zip/tests/bug7658.phpt')
| -rw-r--r-- | ext/zip/tests/bug7658.phpt | 55 |
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) { +} |
