From: Greg Beaver Date: Wed, 23 Apr 2008 18:44:43 +0000 (+0000) Subject: fix default format conversion, increase code coverage X-Git-Tag: RELEASE_2_0_0b1~244 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ab1d8adb968d66f1e59de17c97f97ee759960194;p=php fix default format conversion, increase code coverage --- diff --git a/ext/phar/phar_internal.h b/ext/phar/phar_internal.h index aab5b3fd02..2c3d5f1e4b 100755 --- a/ext/phar/phar_internal.h +++ b/ext/phar/phar_internal.h @@ -121,9 +121,10 @@ #define PHAR_ENT_PERM_DEF_FILE 0x000001B6 #define PHAR_ENT_PERM_DEF_DIR 0x000001FF -#define PHAR_FORMAT_PHAR 0 -#define PHAR_FORMAT_TAR 1 -#define PHAR_FORMAT_ZIP 2 +#define PHAR_FORMAT_SAME 0 +#define PHAR_FORMAT_PHAR 1 +#define PHAR_FORMAT_TAR 2 +#define PHAR_FORMAT_ZIP 3 #define TAR_FILE '0' #define TAR_LINK '1' diff --git a/ext/phar/phar_object.c b/ext/phar/phar_object.c index bd07d96263..749937f4ab 100755 --- a/ext/phar/phar_object.c +++ b/ext/phar/phar_object.c @@ -1874,6 +1874,7 @@ PHP_METHOD(Phar, convertToExecutable) switch (format) { case 9021976: + case PHAR_FORMAT_SAME: /* null is converted to 0 */ /* by default, use the existing format */ if (phar_obj->arc.archive->is_tar) { format = PHAR_FORMAT_TAR; @@ -1966,6 +1967,7 @@ PHP_METHOD(Phar, convertToData) switch (format) { case 9021976: + case PHAR_FORMAT_SAME: /* null is converted to 0 */ /* by default, use the existing format */ if (phar_obj->arc.archive->is_tar) { format = PHAR_FORMAT_TAR; diff --git a/ext/phar/tests/phar_convert_again.phpt b/ext/phar/tests/phar_convert_again.phpt index f0db3b59e1..20b973c3dc 100644 --- a/ext/phar/tests/phar_convert_again.phpt +++ b/ext/phar/tests/phar_convert_again.phpt @@ -41,7 +41,13 @@ $phar = $tbz->convertToExecutable(Phar::PHAR, Phar::NONE); echo $phar->getPath() . "\n"; $phar['a'] = 'hi'; $phar['a']->setMetadata('hi'); +$zip = $phar->convertToExecutable(Phar::ZIP); +echo $zip->getPath() . "\n"; +echo $zip['a']->getMetadata() . "\n"; $tar = $phar->convertToExecutable(Phar::TAR); +echo $tar->getPath() . "\n"; +$tgz = $tar->convertToExecutable(null, Phar::GZ); +echo $tgz->getPath() . "\n"; ?> ===DONE=== --CLEAN-- @@ -52,7 +58,9 @@ unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.tar.gz'); unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.tar.bz2'); unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '2.tbz'); unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '2.phar'); -unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '2.tar'); +unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '2.phar.tar'); +unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '2.phar.zip'); +unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '2.phar.tar.gz'); __HALT_COMPILER(); ?> --EXPECTF-- @@ -61,4 +69,8 @@ __HALT_COMPILER(); %sphar_convert_again.tar.bz2 Unable to add newly converted phar "%sphar_convert_again.phar" to the list of phars, a phar with that name already exists %sphar_convert_again2.phar +%sphar_convert_again2.phar.zip +hi +%sphar_convert_again2.phar.tar +%sphar_convert_again2.phar.tar.gz ===DONE===