Annotation of embedaddon/php/ext/phar/tests/pharfileinfo_compression.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Phar: PharFileInfo compression-related methods
                      3: --SKIPIF--
                      4: <?php if (!extension_loaded("phar")) die("skip"); ?>
                      5: <?php if (!extension_loaded("zlib")) die("skip no zlib"); ?>
                      6: <?php if (!extension_loaded("bz2")) die("skip no bz2"); ?>
                      7: --INI--
                      8: phar.readonly=0
                      9: --FILE--
                     10: <?php
                     11: $fname = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar';
                     12: $pname = 'phar://' . $fname;
                     13: 
                     14: $phar = new Phar($fname);
                     15: 
                     16: $phar['a/b'] = 'hi there';
                     17: 
                     18: $b = $phar['a/b'];
                     19: 
                     20: $b->isCompressed(array());
                     21: try {
                     22: $b->isCompressed(25);
                     23: } catch (Exception $e) {
                     24: echo $e->getMessage() . "\n";
                     25: }
                     26: try {
                     27: $b->compress(25);
                     28: } catch (Exception $e) {
                     29: echo $e->getMessage() . "\n";
                     30: }
                     31: $tar = $phar->convertToData(Phar::TAR);
                     32: 
                     33: $c = $tar['a/b'];
                     34: try {
                     35: $c->compress(Phar::GZ);
                     36: } catch (Exception $e) {
                     37: echo $e->getMessage() . "\n";
                     38: }
                     39: try {
                     40: $phar['a']->compress(Phar::GZ);
                     41: } catch (Exception $e) {
                     42: echo $e->getMessage() . "\n";
                     43: }
                     44: ini_set('phar.readonly', 1);
                     45: try {
                     46: $b->compress(Phar::GZ);
                     47: } catch (Exception $e) {
                     48: echo $e->getMessage() . "\n";
                     49: }
                     50: ini_set('phar.readonly', 0);
                     51: var_dump($b->compress(Phar::GZ));
                     52: var_dump($b->compress(Phar::GZ));
                     53: var_dump($b->compress(Phar::BZ2));
                     54: var_dump($b->compress(Phar::BZ2));
                     55: 
                     56: echo "decompress\n";
                     57: 
                     58: ini_set('phar.readonly', 1);
                     59: try {
                     60: $phar['a/b']->decompress();
                     61: } catch (Exception $e) {
                     62: echo $e->getMessage() . "\n";
                     63: }
                     64: ini_set('phar.readonly', 0);
                     65: try {
                     66: $phar['a']->decompress();
                     67: } catch (Exception $e) {
                     68: echo $e->getMessage() . "\n";
                     69: }
                     70: var_dump($b->decompress());
                     71: var_dump($b->decompress());
                     72: 
                     73: ?>
                     74: ===DONE===
                     75: --CLEAN--
                     76: <?php unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.phar'); ?>
                     77: <?php unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.tar'); ?>
                     78: --EXPECTF--
                     79: Warning: PharFileInfo::isCompressed() expects parameter 1 to be long, array given in %spharfileinfo_compression.php on line 11
                     80: Unknown compression type specified
                     81: Unknown compression type specified
                     82: Cannot compress with Gzip compression, not possible with tar-based phar archives
                     83: Phar entry is a directory, cannot set compression
                     84: Phar is readonly, cannot change compression
                     85: bool(true)
                     86: bool(true)
                     87: bool(true)
                     88: bool(true)
                     89: decompress
                     90: Phar is readonly, cannot decompress
                     91: Phar entry is a directory, cannot set compression
                     92: bool(true)
                     93: bool(true)
                     94: ===DONE===

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>