1--TEST-- 2PharData::convertToZip|Tar|Phar() repeated (phardata_based archives) 3--SKIPIF-- 4<?php if (!extension_loaded("phar")) die("skip"); ?> 5<?php if (!extension_loaded("zlib")) die("skip zlib not available"); ?> 6--INI-- 7phar.readonly=1 8--FILE-- 9<?php 10 11$fname = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.zip'; 12 13echo "=================== new PharData() ==================\n"; 14$phar = new PharData($fname); 15$phar['a'] = 'a'; 16$phar['b'] = 'b'; 17$phar['c'] = 'c'; 18 19var_dump($phar->isFileFormat(Phar::PHAR)); 20var_dump($phar->isFileFormat(Phar::TAR)); 21var_dump($phar->isFileFormat(Phar::ZIP)); 22var_dump($phar->getStub()); 23var_dump($phar->getAlias()); 24 25echo "================= convertToTar() =====================\n"; 26 27$phar = $phar->convertToData(Phar::TAR); 28var_dump($phar->isFileFormat(Phar::PHAR)); 29var_dump($phar->isFileFormat(Phar::TAR)); 30var_dump($phar->isFileFormat(Phar::ZIP)); 31var_dump($phar->getStub()); 32var_dump($phar->getAlias()); 33 34echo "================= convertToZip() =====================\n"; 35 36$phar = $phar->convertToData(Phar::ZIP, Phar::NONE, '.1.zip'); 37var_dump($phar->isFileFormat(Phar::PHAR)); 38var_dump($phar->isFileFormat(Phar::TAR)); 39var_dump($phar->isFileFormat(Phar::ZIP)); 40var_dump($phar->getStub()); 41var_dump($phar->getAlias()); 42 43echo "================= convertToPhar() ====================\n"; 44 45try { 46 $phar = $phar->convertToExecutable(Phar::PHAR); 47 var_dump($phar->isFileFormat(Phar::PHAR)); 48 var_dump($phar->isFileFormat(Phar::TAR)); 49 var_dump($phar->isFileFormat(Phar::ZIP)); 50 var_dump(strlen($phar->getStub())); 51 var_dump($phar->getAlias()); 52} catch(Exception $e) { 53 echo $e->getMessage()."\n"; 54} 55 56echo "================ convertToTar(GZ) ====================\n"; 57 58$phar = $phar->convertToData(Phar::TAR, Phar::GZ, '.2.tar'); 59var_dump($phar->isFileFormat(Phar::PHAR)); 60var_dump($phar->isFileFormat(Phar::TAR)); 61var_dump($phar->isFileFormat(Phar::ZIP)); 62var_dump($phar->getStub()); 63var_dump($phar->getAlias()); 64 65echo "================= convertToPhar() ====================\n"; 66 67try { 68 $phar = $phar->convertToExecutable(Phar::PHAR); 69 var_dump($phar->isFileFormat(Phar::PHAR)); 70 var_dump($phar->isFileFormat(Phar::TAR)); 71 var_dump($phar->isFileFormat(Phar::ZIP)); 72 var_dump(strlen($phar->getStub())); 73 var_dump($phar->getAlias()); 74} catch(Exception $e) { 75 echo $e->getMessage()."\n"; 76} 77 78?> 79===DONE=== 80--CLEAN-- 81<?php 82unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.phar.gz'); 83unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.tar.gz'); 84unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.tar'); 85unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.2.tar'); 86unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.zip'); 87unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.1.zip'); 88?> 89--EXPECT-- 90=================== new PharData() ================== 91bool(false) 92bool(false) 93bool(true) 94string(0) "" 95NULL 96================= convertToTar() ===================== 97bool(false) 98bool(true) 99bool(false) 100string(0) "" 101NULL 102================= convertToZip() ===================== 103bool(false) 104bool(false) 105bool(true) 106string(0) "" 107NULL 108================= convertToPhar() ==================== 109Cannot write out executable phar archive, phar is read-only 110================ convertToTar(GZ) ==================== 111bool(false) 112bool(true) 113bool(false) 114string(0) "" 115NULL 116================= convertToPhar() ==================== 117Cannot write out executable phar archive, phar is read-only 118===DONE=== 119