1--TEST-- 2Phar::conversion to other formats 3--EXTENSIONS-- 4phar 5zlib 6bz2 7--INI-- 8phar.require_hash=0 9phar.readonly=0 10--FILE-- 11<?php 12 13$fname = __DIR__ . '/' . basename(__FILE__, '.php') . '.phar'; 14$fname2 = __DIR__ . '/' . basename(__FILE__, '.php') . '2.tbz'; 15$pname = 'phar://' . $fname; 16$stub = '<?php echo "first stub\n"; __HALT_COMPILER(); ?>'; 17$file = $stub; 18 19$files = array(); 20$files['a'] = 'a'; 21$files['b'] = 'b'; 22$files['c'] = 'c'; 23 24include 'files/phar_test.inc'; 25 26$phar = new Phar($fname); 27$zip = $phar->convertToData(Phar::ZIP); 28echo $zip->getPath() . "\n"; 29$tgz = $phar->convertToData(Phar::TAR, Phar::GZ); 30echo $tgz->getPath() . "\n"; 31$tbz = $phar->convertToData(Phar::TAR, Phar::BZ2); 32echo $tbz->getPath() . "\n"; 33try { 34$phar = $tbz->convertToExecutable(Phar::PHAR, Phar::NONE); 35} catch (Exception $e) { 36echo $e->getMessage() . "\n"; 37} 38copy($tbz->getPath(), $fname2); 39$tbz = new PharData($fname2); 40$phar = $tbz->convertToExecutable(Phar::PHAR, Phar::NONE); 41echo $phar->getPath() . "\n"; 42$phar['a'] = 'hi'; 43$phar['a']->setMetadata('hi'); 44$zip = $phar->convertToExecutable(Phar::ZIP); 45echo $zip->getPath() . "\n"; 46echo $zip['a']->getMetadata() . "\n"; 47$data = $zip->convertToData(); 48echo $data->getPath() . "\n"; 49// extra code coverage 50try { 51$data->setStub('hi'); 52} catch (Exception $e) { 53echo $e->getMessage() . "\n"; 54} 55try { 56$data->setDefaultStub(); 57} catch (Exception $e) { 58echo $e->getMessage() . "\n"; 59} 60try { 61$data->setAlias('hi'); 62} catch (Exception $e) { 63echo $e->getMessage() . "\n"; 64} 65$tar = $phar->convertToExecutable(Phar::TAR); 66echo $tar->getPath() . "\n"; 67$data = $tar->convertToData(); 68echo $data->getPath() . "\n"; 69$tgz = $tar->convertToExecutable(null, Phar::GZ); 70echo $tgz->getPath() . "\n"; 71try { 72$tgz->convertToExecutable(25); 73} catch (Exception $e) { 74echo $e->getMessage() . "\n"; 75} 76try { 77$tgz->convertToExecutable(Phar::ZIP, Phar::GZ); 78} catch (Exception $e) { 79echo $e->getMessage() . "\n"; 80} 81try { 82$tgz->convertToExecutable(Phar::ZIP, Phar::BZ2); 83} catch (Exception $e) { 84echo $e->getMessage() . "\n"; 85} 86try { 87$phar->convertToData(); 88} catch (Exception $e) { 89echo $e->getMessage() . "\n"; 90} 91try { 92$tgz->convertToData(Phar::PHAR); 93} catch (Exception $e) { 94echo $e->getMessage() . "\n"; 95} 96try { 97$tgz->convertToData(25); 98} catch (Exception $e) { 99echo $e->getMessage() . "\n"; 100} 101try { 102$tgz->convertToData(Phar::ZIP, Phar::GZ); 103} catch (Exception $e) { 104echo $e->getMessage() . "\n"; 105} 106try { 107$tgz->convertToData(Phar::ZIP, Phar::BZ2); 108} catch (Exception $e) { 109echo $e->getMessage() . "\n"; 110} 111try { 112$tgz->convertToExecutable(Phar::TAR, 25); 113} catch (Exception $e) { 114echo $e->getMessage() . "\n"; 115} 116try { 117$tgz->convertToData(Phar::TAR, 25); 118} catch (Exception $e) { 119echo $e->getMessage() . "\n"; 120} 121// extra code coverage 122try { 123$data->setStub('hi'); 124} catch (Exception $e) { 125echo $e->getMessage() . "\n"; 126} 127try { 128$data->setAlias('hi'); 129} catch (Exception $e) { 130echo $e->getMessage() . "\n"; 131} 132try { 133$data->setDefaultStub(); 134} catch (Exception $e) { 135echo $e->getMessage() . "\n"; 136} 137try { 138$tgz->convertToData(Phar::TAR, Phar::GZ, '.phar.tgz.oops'); 139} catch (Exception $e) { 140echo $e->getMessage() . "\n"; 141} 142 143try { 144$phar->convertToExecutable(Phar::TAR, Phar::GZ, '.tgz.oops'); 145} catch (Exception $e) { 146echo $e->getMessage() . "\n"; 147} 148 149try { 150$tgz->convertToData(Phar::TAR, Phar::GZ, '.phar/.tgz.oops'); 151} catch (Exception $e) { 152echo $e->getMessage() . "\n"; 153} 154?> 155--CLEAN-- 156<?php 157unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phar'); 158unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.zip'); 159unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.tar.gz'); 160unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.tar.bz2'); 161unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '2.tbz'); 162unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '2.phar'); 163unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '2.phar.tar'); 164unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '2.tar'); 165unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '2.phar.zip'); 166unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '2.zip'); 167unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '2.phar.tar.gz'); 168__HALT_COMPILER(); 169?> 170--EXPECTF-- 171%sphar_convert_again.zip 172%sphar_convert_again.tar.gz 173%sphar_convert_again.tar.bz2 174Unable to add newly converted phar "%sphar_convert_again.phar" to the list of phars, a phar with that name already exists 175%sphar_convert_again2.phar 176%sphar_convert_again2.phar.zip 177hi 178%sphar_convert_again2.zip 179A Phar stub cannot be set in a plain zip archive 180A Phar stub cannot be set in a plain zip archive 181A Phar alias cannot be set in a plain zip archive 182%sphar_convert_again2.phar.tar 183%sphar_convert_again2.tar 184%sphar_convert_again2.phar.tar.gz 185Unknown file format specified, please pass one of Phar::PHAR, Phar::TAR or Phar::ZIP 186Cannot compress entire archive with gzip, zip archives do not support whole-archive compression 187Cannot compress entire archive with bz2, zip archives do not support whole-archive compression 188Cannot write out data phar archive, use Phar::TAR or Phar::ZIP 189Cannot write out data phar archive, use Phar::TAR or Phar::ZIP 190Unknown file format specified, please pass one of Phar::TAR or Phar::ZIP 191Cannot compress entire archive with gzip, zip archives do not support whole-archive compression 192Cannot compress entire archive with bz2, zip archives do not support whole-archive compression 193Unknown compression specified, please pass one of Phar::GZ or Phar::BZ2 194Unknown compression specified, please pass one of Phar::GZ or Phar::BZ2 195A Phar stub cannot be set in a plain tar archive 196A Phar alias cannot be set in a plain tar archive 197A Phar stub cannot be set in a plain tar archive 198data phar "%sphar_convert_again2.phar.tgz.oops" has invalid extension phar.tgz.oops 199phar "%sphar_convert_again2.tgz.oops" has invalid extension tgz.oops 200data phar "%sphar_convert_again2.phar/.tgz.oops" has invalid extension phar/.tgz.oops 201