cellog Fri Apr 11 13:07:13 2008 UTC
Modified files:
/pecl/phar phar_object.c
/pecl/phar/tests phar_oo_compressallbz2.phpt
phar_oo_compressallgz.phpt
phar_oo_uncompressall.phpt
Log:
merge PharFileInfo->isCompressed/isCompressedGZ/isCompressedBZIP2 by adding an
optional parameter to isCompressed for testing specific compression algorithm
[DOC]
http://cvs.php.net/viewvc.cgi/pecl/phar/phar_object.c?r1=1.201&r2=1.202&diff_format=u
Index: pecl/phar/phar_object.c
diff -u pecl/phar/phar_object.c:1.201 pecl/phar/phar_object.c:1.202
--- pecl/phar/phar_object.c:1.201 Fri Apr 11 12:56:52 2008
+++ pecl/phar/phar_object.c Fri Apr 11 13:07:12 2008
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: phar_object.c,v 1.201 2008/04/11 12:56:52 cellog Exp $ */
+/* $Id: phar_object.c,v 1.202 2008/04/11 13:07:12 cellog Exp $ */
#include "phar_internal.h"
#include "func_interceptors.h"
@@ -3297,14 +3297,30 @@
}
/* }}} */
-/* {{{ proto bool PharFileInfo::isCompressed()
- * Returns whether the entry is compressed
+/* {{{ proto bool PharFileInfo::isCompressed([int compression_type])
+ * Returns whether the entry is compressed, and whether it is compressed with
Phar::GZ or Phar::BZ2 if specified
*/
PHP_METHOD(PharFileInfo, isCompressed)
{
+ /* a number that is not Phar::GZ or Phar::BZ2 */
+ long method = 9021976;
PHAR_ENTRY_OBJECT();
- RETURN_BOOL(entry_obj->ent.entry->flags & PHAR_ENT_COMPRESSION_MASK);
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|l", &method) ==
FAILURE) {
+ return;
+ }
+
+ switch (method) {
+ case 9021976:
+ RETURN_BOOL(entry_obj->ent.entry->flags &
PHAR_ENT_COMPRESSION_MASK);
+ case PHAR_ENT_COMPRESSED_GZ:
+ RETURN_BOOL(entry_obj->ent.entry->flags &
PHAR_ENT_COMPRESSED_GZ);
+ case PHAR_ENT_COMPRESSED_BZ2:
+ RETURN_BOOL(entry_obj->ent.entry->flags &
PHAR_ENT_COMPRESSED_BZ2);
+ default:
+ zend_throw_exception_ex(spl_ce_BadMethodCallException,
0 TSRMLS_CC, \
+ "Unknown compression type specified"); \
+ }
}
/* }}} */
@@ -3936,9 +3952,7 @@
PHP_ME(PharFileInfo, getMetadata, NULL, 0)
PHP_ME(PharFileInfo, getPharFlags, NULL, 0)
PHP_ME(PharFileInfo, hasMetadata, NULL, 0)
- PHP_ME(PharFileInfo, isCompressed, NULL, 0)
- PHP_ME(PharFileInfo, isCompressedBZIP2, NULL, 0)
- PHP_ME(PharFileInfo, isCompressedGZ, NULL, 0)
+ PHP_ME(PharFileInfo, isCompressed, arginfo_phar_comp, 0)
PHP_ME(PharFileInfo, isCRCChecked, NULL, 0)
PHP_ME(PharFileInfo, setCompressedBZIP2, NULL, 0)
PHP_ME(PharFileInfo, setCompressedGZ, NULL, 0)
http://cvs.php.net/viewvc.cgi/pecl/phar/tests/phar_oo_compressallbz2.phpt?r1=1.6&r2=1.7&diff_format=u
Index: pecl/phar/tests/phar_oo_compressallbz2.phpt
diff -u pecl/phar/tests/phar_oo_compressallbz2.phpt:1.6
pecl/phar/tests/phar_oo_compressallbz2.phpt:1.7
--- pecl/phar/tests/phar_oo_compressallbz2.phpt:1.6 Thu Apr 10 13:40:25 2008
+++ pecl/phar/tests/phar_oo_compressallbz2.phpt Fri Apr 11 13:07:13 2008
@@ -31,14 +31,14 @@
$phar = new Phar($fname);
$phar->compressFiles(Phar::BZ2);
var_dump(file_get_contents($pname . '/a'));
-var_dump($phar['a']->isCompressedGZ());
-var_dump($phar['a']->isCompressedBZIP2());
+var_dump($phar['a']->isCompressed(Phar::GZ));
+var_dump($phar['a']->isCompressed(Phar::BZ2));
var_dump(file_get_contents($pname . '/b'));
-var_dump($phar['b']->isCompressedGZ());
-var_dump($phar['b']->isCompressedBZIP2());
+var_dump($phar['b']->isCompressed(Phar::GZ));
+var_dump($phar['b']->isCompressed(Phar::BZ2));
var_dump(file_get_contents($pname . '/c'));
-var_dump($phar['c']->isCompressedGZ());
-var_dump($phar['b']->isCompressedBZIP2());
+var_dump($phar['c']->isCompressed(Phar::GZ));
+var_dump($phar['b']->isCompressed(Phar::BZ2));
?>
===DONE===
http://cvs.php.net/viewvc.cgi/pecl/phar/tests/phar_oo_compressallgz.phpt?r1=1.6&r2=1.7&diff_format=u
Index: pecl/phar/tests/phar_oo_compressallgz.phpt
diff -u pecl/phar/tests/phar_oo_compressallgz.phpt:1.6
pecl/phar/tests/phar_oo_compressallgz.phpt:1.7
--- pecl/phar/tests/phar_oo_compressallgz.phpt:1.6 Thu Apr 10 13:40:25 2008
+++ pecl/phar/tests/phar_oo_compressallgz.phpt Fri Apr 11 13:07:13 2008
@@ -31,14 +31,14 @@
$phar = new Phar($fname);
$phar->compressFiles(Phar::GZ);
var_dump(file_get_contents($pname . '/a'));
-var_dump($phar['a']->isCompressedGZ());
-var_dump($phar['a']->isCompressedBZIP2());
+var_dump($phar['a']->isCompressed(Phar::GZ));
+var_dump($phar['a']->isCompressed(Phar::BZ2));
var_dump(file_get_contents($pname . '/b'));
-var_dump($phar['b']->isCompressedGZ());
-var_dump($phar['b']->isCompressedBZIP2());
+var_dump($phar['b']->isCompressed(Phar::GZ));
+var_dump($phar['b']->isCompressed(Phar::BZ2));
var_dump(file_get_contents($pname . '/c'));
-var_dump($phar['c']->isCompressedGZ());
-var_dump($phar['b']->isCompressedBZIP2());
+var_dump($phar['c']->isCompressed(Phar::GZ));
+var_dump($phar['b']->isCompressed(Phar::BZ2));
?>
===DONE===
http://cvs.php.net/viewvc.cgi/pecl/phar/tests/phar_oo_uncompressall.phpt?r1=1.6&r2=1.7&diff_format=u
Index: pecl/phar/tests/phar_oo_uncompressall.phpt
diff -u pecl/phar/tests/phar_oo_uncompressall.phpt:1.6
pecl/phar/tests/phar_oo_uncompressall.phpt:1.7
--- pecl/phar/tests/phar_oo_uncompressall.phpt:1.6 Thu Apr 10 13:40:25 2008
+++ pecl/phar/tests/phar_oo_uncompressall.phpt Fri Apr 11 13:07:13 2008
@@ -1,5 +1,5 @@
--TEST--
-Phar::decompressAllFiles()
+Phar::decompressFiles()
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
<?php if (!extension_loaded("zlib")) die("skip zlib not present"); ?>
@@ -31,14 +31,14 @@
$phar = new Phar($fname);
$phar->compressFiles(Phar::GZ);
var_dump(file_get_contents($pname . '/a'));
-var_dump($phar['a']->isCompressedGZ());
-var_dump($phar['a']->isCompressedBZIP2());
+var_dump($phar['a']->isCompressed(Phar::GZ));
+var_dump($phar['a']->isCompressed(Phar::BZ2));
var_dump(file_get_contents($pname . '/b'));
-var_dump($phar['b']->isCompressedGZ());
-var_dump($phar['b']->isCompressedBZIP2());
+var_dump($phar['b']->isCompressed(Phar::GZ));
+var_dump($phar['b']->isCompressed(Phar::BZ2));
var_dump(file_get_contents($pname . '/c'));
-var_dump($phar['c']->isCompressedGZ());
-var_dump($phar['b']->isCompressedBZIP2());
+var_dump($phar['c']->isCompressed(Phar::GZ));
+var_dump($phar['b']->isCompressed(Phar::BZ2));
$phar->decompressFiles();
var_dump(file_get_contents($pname . '/a'));