summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph M. Becker <cmb@php.net>2015-07-23 21:31:58 +0200
committerChristoph M. Becker <cmb@php.net>2015-07-23 21:36:14 +0200
commit1a7db40a1fba2f7d79f09b309bac6f957d70893f (patch)
tree38194581698412c91acde26df34705594ecf44e7
parent35e717e12ef5be57f4a013208f5b25b617b3de02 (diff)
downloadphp-git-1a7db40a1fba2f7d79f09b309bac6f957d70893f.tar.gz
Fix #53854: Missing constants for compression type
The constants have already been added long ago. This patch just adds a PHPT which checks the recognition of the respective compression methods. Unfortunately, I've not been able to assemble a zip with all compression methods.
-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