]> granicus.if.org Git - php/commitdiff
increase code coverage for phpinfo(), rework CLI phpinfo for phar.extract_list to...
authorGreg Beaver <cellog@php.net>
Wed, 16 Apr 2008 03:26:20 +0000 (03:26 +0000)
committerGreg Beaver <cellog@php.net>
Wed, 16 Apr 2008 03:26:20 +0000 (03:26 +0000)
ext/phar/phar.c
ext/phar/tests/phpinfo_001.phpt [new file with mode: 0644]
ext/phar/tests/phpinfo_002.phpt [new file with mode: 0644]
ext/phar/tests/phpinfo_003.phpt [new file with mode: 0644]
ext/phar/tests/phpinfo_004.phpt [new file with mode: 0644]

index ddec8115e01b57083dff10f6af283f169c3ada60..a36e87df65ef78d8714c8ff8d809aac7d4b90fbd 100644 (file)
@@ -128,6 +128,7 @@ ZEND_INI_MH(phar_ini_extract_list) /* {{{ */
        PHAR_G(extract_list) = new_value;
 
        if (stage == ZEND_INI_STAGE_RUNTIME) {
+               phar_request_initialize(TSRMLS_C);
                phar_split_extract_list(TSRMLS_C);
        }
 
@@ -152,6 +153,7 @@ ZEND_INI_DISP(phar_ini_extract_list_disp) /*void name(zend_ini_entry *ini_entry,
                char *key;
                char *lasts;
                char *q;
+               int started = 0;
        
                if (!sapi_module.phpinfo_as_text) {
                        php_printf("<ul>");
@@ -161,14 +163,17 @@ ZEND_INI_DISP(phar_ini_extract_list_disp) /*void name(zend_ini_entry *ini_entry,
                                key = php_strtok_r(NULL, ",", &lasts))
                {
                        char *val = strchr(key, '=');
-       
+
                        if (val) {      
                                *val++ = '\0';
                                for (q = key; *q; ++q) {
                                        *q = tolower(*q);
                                }
                                if (sapi_module.phpinfo_as_text) {
-                                       php_printf("%s => %s", key, val);
+                                       if (started++) {
+                                               php_printf(",");
+                                       }
+                                       php_printf("[%s = %s]", key, val);
                                } else {
                                        php_printf("<li>%s => %s</li>", key, val);
                                }
diff --git a/ext/phar/tests/phpinfo_001.phpt b/ext/phar/tests/phpinfo_001.phpt
new file mode 100644 (file)
index 0000000..29f47ab
--- /dev/null
@@ -0,0 +1,63 @@
+--TEST--
+Phar: phpinfo display 1
+--SKIPIF--
+<?php if (!extension_loaded("phar")) die("skip"); ?>
+<?php if (!extension_loaded("zlib")) die("skip zlib not loaded"); ?>
+<?php if (!extension_loaded("bz2")) die("skip bz2 not loaded"); ?>
+--INI--
+phar.readonly=0
+phar.require_hash=0
+--FILE--
+<?php
+ini_set('phar.extract_list', 'phar_test.phar='.dirname(__FILE__).',another.phar='. dirname(__FILE__));
+phpinfo(INFO_MODULES);
+ini_set('phar.readonly',1);
+ini_set('phar.require_hash',1);
+ini_set('phar.extract_list', '');
+phpinfo(INFO_MODULES);
+?>
+===DONE===
+--EXPECTF--
+%aPhar
+
+Phar: PHP Archive support => enabled
+Phar EXT version => %s
+Phar API version => 1.1.1
+CVS revision => $Revision$
+Phar-based phar archives => enabled
+Tar-based phar archives => enabled
+ZIP-based phar archives => enabled
+gzip compression => enabled
+bzip2 compression => enabled
+
+
+Phar based on pear/PHP_Archive, original concept by Davey Shafik.
+Phar fully realized by Gregory Beaver and Marcus Boerger.
+Portions of tar implementation Copyright (c) 2003-2007 Tim Kientzle.
+Directive => Local Value => Master Value
+phar.extract_list => [phar_test.phar = %stests],[another.phar = %stests] => 
+phar.readonly => Off => Off
+phar.require_hash => Off => Off
+%a
+Phar
+
+Phar: PHP Archive support => enabled
+Phar EXT version => %s
+Phar API version => 1.1.1
+CVS revision => $Revision$
+Phar-based phar archives => enabled
+Tar-based phar archives => enabled
+ZIP-based phar archives => enabled
+gzip compression => enabled
+bzip2 compression => enabled
+
+
+Phar based on pear/PHP_Archive, original concept by Davey Shafik.
+Phar fully realized by Gregory Beaver and Marcus Boerger.
+Portions of tar implementation Copyright (c) 2003-2007 Tim Kientzle.
+Directive => Local Value => Master Value
+phar.extract_list =>  => 
+phar.readonly => On => Off
+phar.require_hash => On => Off
+%a
+===DONE===
diff --git a/ext/phar/tests/phpinfo_002.phpt b/ext/phar/tests/phpinfo_002.phpt
new file mode 100644 (file)
index 0000000..9ea9b0a
--- /dev/null
@@ -0,0 +1,36 @@
+--TEST--
+Phar: phpinfo display 2
+--SKIPIF--
+<?php if (!extension_loaded("phar")) die("skip"); ?>
+<?php if (!extension_loaded("zlib")) die("skip zlib not loaded"); ?>
+<?php if (!extension_loaded("bz2")) die("skip bz2 not loaded"); ?>
+--INI--
+--FILE--
+<?php
+phpinfo(INFO_MODULES);
+?>
+===DONE===
+--EXPECTF--
+%a
+Phar
+
+Phar: PHP Archive support => enabled
+Phar EXT version => %s
+Phar API version => 1.1.1
+CVS revision => $Revision$
+Phar-based phar archives => enabled
+Tar-based phar archives => enabled
+ZIP-based phar archives => enabled
+gzip compression => enabled
+bzip2 compression => enabled
+
+
+Phar based on pear/PHP_Archive, original concept by Davey Shafik.
+Phar fully realized by Gregory Beaver and Marcus Boerger.
+Portions of tar implementation Copyright (c) 2003-2007 Tim Kientzle.
+Directive => Local Value => Master Value
+phar.extract_list =>  => 
+phar.readonly => On => On
+phar.require_hash => On => On
+%a
+===DONE===
diff --git a/ext/phar/tests/phpinfo_003.phpt b/ext/phar/tests/phpinfo_003.phpt
new file mode 100644 (file)
index 0000000..b26f9e6
--- /dev/null
@@ -0,0 +1,36 @@
+--TEST--
+Phar: phpinfo display 3
+--SKIPIF--
+<?php if (!extension_loaded("phar")) die("skip"); ?>
+<?php if (extension_loaded("zlib")) die("skip zlib loaded"); ?>
+<?php if (extension_loaded("bz2")) die("skip bz2 loaded"); ?>
+--INI--
+--FILE--
+<?php
+phpinfo(INFO_MODULES);
+?>
+===DONE===
+--EXPECTF--
+%a
+Phar
+
+Phar: PHP Archive support => enabled
+Phar EXT version => %s
+Phar API version => 1.1.1
+CVS revision => $Revision$
+Phar-based phar archives => enabled
+Tar-based phar archives => enabled
+ZIP-based phar archives => enabled
+gzip compression => disabled (install ext/zlib)
+bzip2 compression => disabled (install pecl/bz2)
+
+
+Phar based on pear/PHP_Archive, original concept by Davey Shafik.
+Phar fully realized by Gregory Beaver and Marcus Boerger.
+Portions of tar implementation Copyright (c) 2003-2007 Tim Kientzle.
+Directive => Local Value => Master Value
+phar.extract_list =>  => 
+phar.readonly => On => On
+phar.require_hash => On => On
+%a
+===DONE===
diff --git a/ext/phar/tests/phpinfo_004.phpt b/ext/phar/tests/phpinfo_004.phpt
new file mode 100644 (file)
index 0000000..4c18429
--- /dev/null
@@ -0,0 +1,70 @@
+--TEST--
+Phar: phpinfo display 4
+--SKIPIF--
+<?php if (!extension_loaded("phar")) die("skip"); ?>
+<?php if (!extension_loaded("zlib")) die("skip zlib not loaded"); ?>
+<?php if (!extension_loaded("bz2")) die("skip bz2 not loaded"); ?>
+--INI--
+phar.readonly=0
+phar.require_hash=0
+--POST--
+a=b
+--FILE--
+<?php
+ini_set('phar.extract_list', 'phar_test.phar='.dirname(__FILE__).',another.phar='. dirname(__FILE__));
+phpinfo(INFO_MODULES);
+ini_set('phar.readonly',1);
+ini_set('phar.require_hash',1);
+ini_set('phar.extract_list', '');
+phpinfo(INFO_MODULES);
+?>
+===DONE===
+--EXPECTF--
+%a<br />
+<h2><a name="module_Phar">Phar</a></h2>
+<table border="0" cellpadding="3" width="600">
+<tr class="h"><th>Phar: PHP Archive support</th><th>enabled</th></tr>
+<tr><td class="e">Phar EXT version </td><td class="v">%s </td></tr>
+<tr><td class="e">Phar API version </td><td class="v">1.1.1 </td></tr>
+<tr><td class="e">CVS revision </td><td class="v">$Revision$ </td></tr>
+<tr><td class="e">Phar-based phar archives </td><td class="v">enabled </td></tr>
+<tr><td class="e">Tar-based phar archives </td><td class="v">enabled </td></tr>
+<tr><td class="e">ZIP-based phar archives </td><td class="v">enabled </td></tr>
+<tr><td class="e">gzip compression </td><td class="v">enabled </td></tr>
+<tr><td class="e">bzip2 compression </td><td class="v">enabled </td></tr>
+</table><br />
+<table border="0" cellpadding="3" width="600">
+<tr class="v"><td>
+Phar based on pear/PHP_Archive, original concept by Davey Shafik.<br />Phar fully realized by Gregory Beaver and Marcus Boerger.<br />Portions of tar implementation Copyright (c) 2003-2007 Tim Kientzle.</td></tr>
+</table><br />
+<table border="0" cellpadding="3" width="600">
+<tr class="h"><th>Directive</th><th>Local Value</th><th>Master Value</th></tr>
+<tr><td class="e">phar.extract_list</td><td class="v"><ul><li>phar_test.phar => %stests</li><li>another.phar => %stests</li></ul></td><td class="v"><ul></ul></td></tr>
+<tr><td class="e">phar.readonly</td><td class="v">Off</td><td class="v">Off</td></tr>
+<tr><td class="e">phar.require_hash</td><td class="v">Off</td><td class="v">Off</td></tr>
+</table><br />
+%a<br />
+<h2><a name="module_Phar">Phar</a></h2>
+<table border="0" cellpadding="3" width="600">
+<tr class="h"><th>Phar: PHP Archive support</th><th>enabled</th></tr>
+<tr><td class="e">Phar EXT version </td><td class="v">%s </td></tr>
+<tr><td class="e">Phar API version </td><td class="v">1.1.1 </td></tr>
+<tr><td class="e">CVS revision </td><td class="v">$Revision$ </td></tr>
+<tr><td class="e">Phar-based phar archives </td><td class="v">enabled </td></tr>
+<tr><td class="e">Tar-based phar archives </td><td class="v">enabled </td></tr>
+<tr><td class="e">ZIP-based phar archives </td><td class="v">enabled </td></tr>
+<tr><td class="e">gzip compression </td><td class="v">enabled </td></tr>
+<tr><td class="e">bzip2 compression </td><td class="v">enabled </td></tr>
+</table><br />
+<table border="0" cellpadding="3" width="600">
+<tr class="v"><td>
+Phar based on pear/PHP_Archive, original concept by Davey Shafik.<br />Phar fully realized by Gregory Beaver and Marcus Boerger.<br />Portions of tar implementation Copyright (c) 2003-2007 Tim Kientzle.</td></tr>
+</table><br />
+<table border="0" cellpadding="3" width="600">
+<tr class="h"><th>Directive</th><th>Local Value</th><th>Master Value</th></tr>
+<tr><td class="e">phar.extract_list</td><td class="v"><ul></ul></td><td class="v"><ul></ul></td></tr>
+<tr><td class="e">phar.readonly</td><td class="v">On</td><td class="v">Off</td></tr>
+<tr><td class="e">phar.require_hash</td><td class="v">On</td><td class="v">Off</td></tr>
+</table><br />
+%a<br />
+</div></body></html>===DONE===
\ No newline at end of file