Return to allU.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / phar / tests / zip |
1.1 misho 1: --TEST-- 2: Phar: test that creation of zip-based phar generates valid zip with all bells/whistles 3: --SKIPIF-- 4: <?php 5: if (!extension_loaded("phar")) die("skip"); 6: if (version_compare(PHP_VERSION, "6.0", "<")) die("skip Unicode support required"); 7: if (!extension_loaded("spl")) die("skip SPL not available"); 8: if (!extension_loaded("zlib")) die("skip zlib not available"); 9: if (!extension_loaded("bz2")) die("skip bz2 not available"); 10: ?> 11: --INI-- 12: phar.readonly=0 13: --FILE-- 14: <?php 15: 16: $fname = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar.zip.php'; 17: $pname = 'phar://' . $fname; 18: $fname2 = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.2.phar.zip.php'; 19: $pname2 = 'phar://' . $fname2; 20: 21: $phar = new Phar($fname); 22: 23: $phar->setMetadata('hi there'); 24: $phar['a'] = 'hi'; 25: $phar['a']->setMetadata('a meta'); 26: $phar['b'] = 'hi2'; 27: $phar['b']->compress(Phar::GZ); 28: $phar['c'] = 'hi3'; 29: $phar['c']->compress(Phar::BZ2); 30: $phar['b']->chmod(0444); 31: $phar->setStub("<?php ok __HALT_COMPILER();"); 32: $phar->setAlias("hime"); 33: unset($phar); 34: copy($fname, $fname2); 35: Phar::unlinkArchive($fname); 36: var_dump(file_exists($fname), file_exists($pname . '/a')); 37: 38: $phar = new Phar($fname2); 39: var_dump($phar['a']->getContent(), $phar['b']->getContent(), $phar['c']->getContent()); 40: var_dump($phar['a']->isCompressed(), $phar['b']->isCompressed() == Phar::GZ, $phar['c']->isCompressed() == Phar::BZ2); 41: var_dump((string) decoct(fileperms($pname2 . '/b'))); 42: var_dump($phar->getStub()); 43: var_dump($phar->getAlias()); 44: var_dump($phar->getMetadata()); 45: var_dump($phar['a']->getMetadata()); 46: ?> 47: ===DONE=== 48: --CLEAN-- 49: <?php unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.2.phar.zip.php'); ?> 50: --EXPECT-- 51: bool(false) 52: bool(false) 53: string(2) "hi" 54: string(3) "hi2" 55: string(3) "hi3" 56: bool(false) 57: bool(true) 58: bool(true) 59: unicode(6) "100444" 60: string(32) "<?php ok __HALT_COMPILER(); ?> 61: " 62: string(4) "hime" 63: unicode(8) "hi there" 64: unicode(6) "a meta" 65: ===DONE===