summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/zip/tests/compression_methods.phpt35
-rw-r--r--ext/zip/tests/compression_methods.zipbin0 -> 2402 bytes
2 files changed, 35 insertions, 0 deletions
diff --git a/ext/zip/tests/compression_methods.phpt b/ext/zip/tests/compression_methods.phpt
new file mode 100644
index 0000000000..084fa848f1
--- /dev/null
+++ b/ext/zip/tests/compression_methods.phpt
@@ -0,0 +1,35 @@
+--TEST--
+Recognition of compression methods
+--DESCRIPTION--
+This test is supposed to cover all compression methods that are recognized by
+libzip, but for now only 6 methods are available in compression_methods.zip.
+The zip and the test should be extended, if possible.
+--SKIPIF--
+<?php
+if (!extension_loaded('zip')) die('skip zip extension not available');
+?>
+--FILE--
+<?php
+$methods = array(
+ 'store' => ZipArchive::CM_STORE,
+ 'deflate' => ZipArchive::CM_DEFLATE,
+ 'deflate64' => ZipArchive::CM_DEFLATE64,
+ 'bzip2' => ZipArchive::CM_BZIP2,
+ 'lzma' => ZipArchive::CM_LZMA,
+ 'ppmd' => ZipArchive::CM_PPMD
+);
+$zip = new ZipArchive();
+$zip->open(__DIR__ . '/compression_methods.zip');
+foreach ($methods as $filename => $method) {
+ echo "$filename: ";
+ var_dump($zip->statName($filename)['comp_method'] === $method);
+}
+$zip->close();
+?>
+--EXPECT--
+store: bool(true)
+deflate: bool(true)
+deflate64: bool(true)
+bzip2: bool(true)
+lzma: bool(true)
+ppmd: bool(true)
diff --git a/ext/zip/tests/compression_methods.zip b/ext/zip/tests/compression_methods.zip
new file mode 100644
index 0000000000..44ed8ff5ed
--- /dev/null
+++ b/ext/zip/tests/compression_methods.zip
Binary files differ