- Some tests for buildFromDirectory()

This commit is contained in:
Steph Fox 2008-05-04 20:58:43 +00:00
parent c070512ee4
commit 21460875fc
6 changed files with 218 additions and 0 deletions

View File

@ -0,0 +1,28 @@
--TEST--
Phar::buildFromDirectory() - readonly
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--INI--
phar.require_hash=0
phar.readonly=0
--FILE--
<?php
$phar = new Phar(dirname(__FILE__) . '/buildfromdirectory.phar');
try {
ini_set('phar.readonly', 1);
$phar->buildFromDirectory(1);
} catch (Exception $e) {
var_dump(get_class($e));
echo $e->getMessage() . "\n";
}
?>
===DONE===
--CLEAN--
<?php
unlink(dirname(__FILE__) . '/buildfromdirectory.phar');
__HALT_COMPILER();
?>
--EXPECT--
string(24) "UnexpectedValueException"
Cannot write to archive - write operations restricted by INI setting
===DONE===

View File

@ -0,0 +1,27 @@
--TEST--
Phar::buildFromDirectory() - non-directory passed as first parameter
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--INI--
phar.require_hash=0
phar.readonly=0
--FILE--
<?php
try {
$phar = new Phar(dirname(__FILE__) . '/buildfromdirectory.phar');
$phar->buildFromDirectory(1);
} catch (Exception $e) {
var_dump(get_class($e));
echo $e->getMessage() . "\n";
}
?>
===DONE===
--CLEAN--
<?php
unlink(dirname(__FILE__) . '/buildfromdirectory.phar');
__HALT_COMPILER();
?>
--EXPECT--
string(24) "UnexpectedValueException"
RecursiveDirectoryIterator::__construct(1): failed to open dir: No such file or directory
===DONE===

View File

@ -0,0 +1,27 @@
--TEST--
Phar::buildFromDirectory() - object passed as second parameter
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--INI--
phar.require_hash=0
phar.readonly=0
--FILE--
<?php
try {
$phar = new Phar(dirname(__FILE__) . '/buildfromiterator.phar');
$phar->buildFromDirectory('files', new stdClass);
} catch (Exception $e) {
var_dump(get_class($e));
echo $e->getMessage() . "\n";
}
?>
===DONE===
--CLEAN--
<?php
unlink(dirname(__FILE__) . '/buildfromiterator.phar');
__HALT_COMPILER();
?>
--EXPECTF--
Warning: Phar::buildFromDirectory() expects parameter 2 to be string, object given in %sphar_buildfromdirectory3.php on line %d
===DONE===

View File

@ -0,0 +1,48 @@
--TEST--
Phar::buildFromDirectory(), directory exists
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--INI--
phar.require_hash=0
phar.readonly=0
--FILE--
<?php
mkdir(dirname(__FILE__).'/testdir');
foreach(range(1, 4) as $i) {
file_put_contents(dirname(__FILE__)."/testdir/file$i.txt", "some content for file $i");
}
try {
$phar = new Phar(dirname(__FILE__) . '/buildfromdirectory.phar');
var_dump($phar->buildFromDirectory(dirname(__FILE__) . '/testdir'));
} catch (Exception $e) {
var_dump(get_class($e));
echo $e->getMessage() . "\n";
}
var_dump(file_exists(dirname(__FILE__) . '/buildfromdirectory.phar'));
?>
===DONE===
--CLEAN--
<?php
unlink(dirname(__FILE__) . '/buildfromdirectory.phar');
foreach(range(1, 4) as $i) {
unlink(dirname(__FILE__) . "/testdir/file$i.txt");
}
rmdir(dirname(__FILE__) . '/testdir');
?>
--EXPECTF--
array(4) {
["file1.txt"]=>
string(%d) "%stestdir%cfile1.txt"
["file2.txt"]=>
string(%d) "%stestdir%cfile2.txt"
["file3.txt"]=>
string(%d) "%stestdir%cfile3.txt"
["file4.txt"]=>
string(%d) "%stestdir%cfile4.txt"
}
bool(true)
===DONE===

View File

@ -0,0 +1,48 @@
--TEST--
Phar::buildFromDirectory() with matching regex
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--INI--
phar.require_hash=0
phar.readonly=0
--FILE--
<?php
mkdir(dirname(__FILE__).'/testdir');
foreach(range(1, 4) as $i) {
file_put_contents(dirname(__FILE__)."/testdir/file$i.txt", "some content for file $i");
}
try {
$phar = new Phar(dirname(__FILE__) . '/buildfromdirectory.phar');
var_dump($phar->buildFromDirectory(dirname(__FILE__) . '/testdir', '/\.txt/'));
} catch (Exception $e) {
var_dump(get_class($e));
echo $e->getMessage() . "\n";
}
var_dump(file_exists(dirname(__FILE__) . '/buildfromdirectory.phar'));
?>
===DONE===
--CLEAN--
<?php
unlink(dirname(__FILE__) . '/buildfromdirectory.phar');
foreach(range(1, 4) as $i) {
unlink(dirname(__FILE__) . "/testdir/file$i.txt");
}
rmdir(dirname(__FILE__) . '/testdir');
?>
--EXPECTF--
array(4) {
["file1.txt"]=>
string(%d) "%stestdir%cfile1.txt"
["file2.txt"]=>
string(%d) "%stestdir%cfile2.txt"
["file3.txt"]=>
string(%d) "%stestdir%cfile3.txt"
["file4.txt"]=>
string(%d) "%stestdir%cfile4.txt"
}
bool(true)
===DONE===

View File

@ -0,0 +1,40 @@
--TEST--
Phar::buildFromDirectory() with non-matching regex
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--INI--
phar.require_hash=0
phar.readonly=0
--FILE--
<?php
mkdir(dirname(__FILE__).'/testdir', 0777);
foreach(range(1, 4) as $i) {
file_put_contents(dirname(__FILE__)."/testdir/file$i.txt", "some content for file $i");
}
try {
$phar = new Phar(dirname(__FILE__) . '/buildfromdirectory.phar');
var_dump($phar->buildFromDirectory(dirname(__FILE__) . '/testdir', '/\.php/'));
} catch (Exception $e) {
var_dump(get_class($e));
echo $e->getMessage() . "\n";
}
var_dump(file_exists(dirname(__FILE__) . '/buildfromdirectory.phar'));
?>
===DONE===
--CLEAN--
<?php
unlink(dirname(__FILE__) . '/buildfromdirectory.phar');
foreach(range(1, 4) as $i) {
unlink(dirname(__FILE__) . "/testdir/file$i.txt");
}
rmdir(dirname(__FILE__) . '/testdir');
?>
--EXPECT--
array(0) {
}
bool(false)
===DONE===