]> granicus.if.org Git - php/commitdiff
fix default format conversion, increase code coverage
authorGreg Beaver <cellog@php.net>
Wed, 23 Apr 2008 18:44:43 +0000 (18:44 +0000)
committerGreg Beaver <cellog@php.net>
Wed, 23 Apr 2008 18:44:43 +0000 (18:44 +0000)
ext/phar/phar_internal.h
ext/phar/phar_object.c
ext/phar/tests/phar_convert_again.phpt

index aab5b3fd02528b9b22b82dc3baf2acc81abfd435..2c3d5f1e4b337637859b763e34bb92867c368cad 100755 (executable)
 #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'
index bd07d96263dc86ad071579b40d4591addef3e981..749937f4ab714d6401b5b43c780011cfc05b3f9e 100755 (executable)
@@ -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;
index f0db3b59e14ddf4290e9fe13bdc0717ef28674c4..20b973c3dc677ab023393ffeab6ba8d4896b9c0e 100644 (file)
@@ -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===