]> granicus.if.org Git - php/commitdiff
- Some tests for buildFromDirectory()
authorSteph Fox <sfox@php.net>
Sun, 4 May 2008 20:58:43 +0000 (20:58 +0000)
committerSteph Fox <sfox@php.net>
Sun, 4 May 2008 20:58:43 +0000 (20:58 +0000)
ext/phar/tests/phar_buildfromdirectory1.phpt [new file with mode: 0644]
ext/phar/tests/phar_buildfromdirectory2.phpt [new file with mode: 0644]
ext/phar/tests/phar_buildfromdirectory3.phpt [new file with mode: 0644]
ext/phar/tests/phar_buildfromdirectory4.phpt [new file with mode: 0644]
ext/phar/tests/phar_buildfromdirectory5.phpt [new file with mode: 0644]
ext/phar/tests/phar_buildfromdirectory6.phpt [new file with mode: 0644]

diff --git a/ext/phar/tests/phar_buildfromdirectory1.phpt b/ext/phar/tests/phar_buildfromdirectory1.phpt
new file mode 100644 (file)
index 0000000..505b150
--- /dev/null
@@ -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===
diff --git a/ext/phar/tests/phar_buildfromdirectory2.phpt b/ext/phar/tests/phar_buildfromdirectory2.phpt
new file mode 100644 (file)
index 0000000..fcad472
--- /dev/null
@@ -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===
diff --git a/ext/phar/tests/phar_buildfromdirectory3.phpt b/ext/phar/tests/phar_buildfromdirectory3.phpt
new file mode 100644 (file)
index 0000000..435bbdf
--- /dev/null
@@ -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===
diff --git a/ext/phar/tests/phar_buildfromdirectory4.phpt b/ext/phar/tests/phar_buildfromdirectory4.phpt
new file mode 100644 (file)
index 0000000..886cad8
--- /dev/null
@@ -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===
diff --git a/ext/phar/tests/phar_buildfromdirectory5.phpt b/ext/phar/tests/phar_buildfromdirectory5.phpt
new file mode 100644 (file)
index 0000000..fbf3e9b
--- /dev/null
@@ -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===
diff --git a/ext/phar/tests/phar_buildfromdirectory6.phpt b/ext/phar/tests/phar_buildfromdirectory6.phpt
new file mode 100644 (file)
index 0000000..2edd096
--- /dev/null
@@ -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===