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 = __DIR__ . '/' . 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--CLEAN-- 79<?php 80echo __DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phar.gz' . "\n"; 81 82unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phar.gz'); 83unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.tar.gz'); 84unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.tar'); 85unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.1.2.tar'); 86unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.zip'); 87unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.1.zip'); 88 89?> 90--EXPECT-- 91=================== new PharData() ================== 92bool(false) 93bool(false) 94bool(true) 95string(0) "" 96NULL 97================= convertToTar() ===================== 98bool(false) 99bool(true) 100bool(false) 101string(0) "" 102NULL 103================= convertToZip() ===================== 104bool(false) 105bool(false) 106bool(true) 107string(0) "" 108NULL 109================= convertToPhar() ==================== 110Cannot write out executable phar archive, phar is read-only 111================ convertToTar(GZ) ==================== 112bool(false) 113bool(true) 114bool(false) 115string(0) "" 116NULL 117================= convertToPhar() ==================== 118Cannot write out executable phar archive, phar is read-only 119