1
0
mirror of https://github.com/php/php-src.git synced 2026-03-30 04:02:19 +02:00

new tests for bz2-compressed tar or phar-based phars (wow, worked on first try, how about that)

This commit is contained in:
Greg Beaver
2008-01-09 08:48:56 +00:00
parent 21ab2ca8e9
commit 7def324a80
4 changed files with 109 additions and 1 deletions

View File

@@ -0,0 +1,52 @@
--TEST--
Phar: bzipped phar
--SKIPIF--
<?php if (!extension_loaded('phar')) die('skip'); ?>
<?php if (!extension_loaded("spl")) die("skip SPL not available"); ?>
<?php if (!extension_loaded("bz2")) die("skip bz2 not available"); ?>
--INI--
phar.readonly=0
phar.require_hash=0
--FILE--
<?php
$fname = dirname(__FILE__) . '/phar_bz2.phar';
$pname = 'phar://' . $fname;
$fname2 = dirname(__FILE__) . '/phar_bz2.2.phar';
$pname2 = 'phar://' . $fname2;
$file = '<?php
Phar::mapPhar();
var_dump("it worked");
include "phar://" . __FILE__ . "/tar_004.php";
__HALT_COMPILER();';
$files = array();
$files['tar_004.php'] = '<?php var_dump(__FILE__);';
$files['internal/file/here'] = "hi there!\n";
$files['internal/dir/'] = '';
$files['dir/'] = '';
$bz2 = true;
include 'phar_test.inc';
include $fname;
$a = new Phar($fname);
$a['test'] = 'hi';
copy($fname, $fname2);
$b = new Phar($fname2);
var_dump($b->isPhar());
var_dump($b->isCompressed() == Phar::BZ2);
?>
===DONE===
--CLEAN--
<?php
@unlink(dirname(__FILE__) . '/phar_bz2.phar');
@unlink(dirname(__FILE__) . '/phar_bz2.2.phar');
?>
--EXPECTF--
string(9) "it worked"
string(%d) "phar://%sphar_bz2.phar/tar_004.php"
bool(true)
bool(true)
===DONE===

View File

@@ -67,4 +67,10 @@ if (@$gzip) {
fclose($fp);
}
if (@$bz2) {
$fp = bzopen($fname, 'w');
fwrite($fp, $file);
fclose($fp);
}
?>

View File

@@ -0,0 +1,50 @@
--TEST--
Phar: tar-based phar, bzipped tar
--SKIPIF--
<?php if (!extension_loaded('phar')) die('skip'); ?>
<?php if (!extension_loaded("spl")) die("skip SPL not available"); ?>
<?php if (!extension_loaded("bz2")) die("skip bz2 not available"); ?>
--INI--
phar.readonly=0
--FILE--
<?php
include dirname(__FILE__) . '/tarmaker.php.inc';
$fname = dirname(__FILE__) . '/tar_bz2.phar';
$pname = 'phar://' . $fname;
$fname2 = dirname(__FILE__) . '/tar_bz2.phar.tar';
$pname2 = 'phar://' . $fname2;
$a = new tarmaker($fname, 'bz2');
$a->init();
$a->addFile('tar_004.php', '<?php var_dump(__FILE__);');
$a->addFile('internal/file/here', "hi there!\n");
$a->mkDir('internal/dir');
$a->mkDir('dir');
$a->addFile('.phar/stub.php', '<?php
Phar::mapPhar();
var_dump("it worked");
include "phar://" . __FILE__ . "/tar_004.php";
');
$a->close();
include $fname;
$a = new Phar($fname);
$a['test'] = 'hi';
copy($fname, $fname2);
$b = new Phar($fname2);
var_dump($b->isTar());
var_dump($b->isCompressed() == Phar::BZ2);
?>
===DONE===
--CLEAN--
<?php
@unlink(dirname(__FILE__) . '/tar_bz2.phar');
@unlink(dirname(__FILE__) . '/tar_bz2.phar.tar');
?>
--EXPECTF--
string(9) "it worked"
string(%d) "phar://%star_bz2.phar/tar_004.php"
bool(true)
bool(true)
===DONE===

View File

@@ -131,7 +131,7 @@ class tarmaker
$this->tmp = gzopen($this->path, 'wb');
break;
case 'bz2' :
$this->tmp = bzopen($this->path, 'wb');
$this->tmp = bzopen($this->path, 'w');
break;
case 'none' :
$this->tmp = fopen($this->path, 'wb');