]> granicus.if.org Git - php/commitdiff
new tests
authorGreg Beaver <cellog@php.net>
Mon, 7 Jan 2008 18:07:10 +0000 (18:07 +0000)
committerGreg Beaver <cellog@php.net>
Mon, 7 Jan 2008 18:07:10 +0000 (18:07 +0000)
ext/phar/tests/tar/phar_buildfromiterator4.phpt [new file with mode: 0644]
ext/phar/tests/tar/phar_buildfromiterator5.phpt [new file with mode: 0644]
ext/phar/tests/tar/phar_buildfromiterator6.phpt [new file with mode: 0644]
ext/phar/tests/tar/phar_buildfromiterator7.phpt [new file with mode: 0644]
ext/phar/tests/tar/phar_buildfromiterator8.phpt [new file with mode: 0644]
ext/phar/tests/tar/phar_buildfromiterator9.phpt [new file with mode: 0644]

diff --git a/ext/phar/tests/tar/phar_buildfromiterator4.phpt b/ext/phar/tests/tar/phar_buildfromiterator4.phpt
new file mode 100644 (file)
index 0000000..5432617
--- /dev/null
@@ -0,0 +1,66 @@
+--TEST--
+Phar::buildFromIterator() iterator, 1 file passed in tar-based
+--SKIPIF--
+<?php if (!extension_loaded("phar")) die("skip"); ?>
+--INI--
+phar.require_hash=0
+phar.readonly=0
+--FILE--
+<?php
+class myIterator implements Iterator
+{
+    var $a;
+    function __construct(array $a)
+    {
+        $this->a = $a;
+    }
+    function next() {
+        echo "next\n";
+        return next($this->a);
+    }
+    function current() {
+        echo "current\n";
+        return current($this->a);
+    }
+    function key() {
+        echo "key\n";
+        return key($this->a);
+    }
+    function valid() {
+        echo "valid\n";
+        return current($this->a);
+    }
+    function rewind() {
+        echo "rewind\n";
+        return reset($this->a);
+    }
+}
+try {
+       chdir(dirname(__FILE__));
+       $phar = new Phar(dirname(__FILE__) . '/buildfromiterator.phar.tar');
+       var_dump($phar->buildFromIterator(new myIterator(array('a' => basename(__FILE__, 'php') . 'phpt'))));
+       var_dump($phar->isTar());
+} catch (Exception $e) {
+       var_dump(get_class($e));
+       echo $e->getMessage() . "\n";
+}
+?>
+===DONE===
+--CLEAN--
+<?php 
+unlink(dirname(__FILE__) . '/buildfromiterator.phar.tar');
+__HALT_COMPILER();
+?>
+--EXPECTF--
+rewind
+valid
+current
+key
+next
+valid
+array(1) {
+  ["a"]=>
+  string(%d) "%sphar_buildfromiterator4.phpt"
+}
+bool(true)
+===DONE===
diff --git a/ext/phar/tests/tar/phar_buildfromiterator5.phpt b/ext/phar/tests/tar/phar_buildfromiterator5.phpt
new file mode 100644 (file)
index 0000000..3bd2cec
--- /dev/null
@@ -0,0 +1,59 @@
+--TEST--
+Phar::buildFromIterator() iterator, iterator returns non-string
+--SKIPIF--
+<?php if (!extension_loaded("phar")) die("skip"); ?>
+--INI--
+phar.require_hash=0
+phar.readonly=0
+--FILE--
+<?php
+class myIterator implements Iterator
+{
+    var $a;
+    function __construct(array $a)
+    {
+        $this->a = $a;
+    }
+    function next() {
+        echo "next\n";
+        return next($this->a);
+    }
+    function current() {
+        echo "current\n";
+        return current($this->a);
+    }
+    function key() {
+        echo "key\n";
+        return key($this->a);
+    }
+    function valid() {
+        echo "valid\n";
+        return current($this->a);
+    }
+    function rewind() {
+        echo "rewind\n";
+        return reset($this->a);
+    }
+}
+try {
+       chdir(dirname(__FILE__));
+       $phar = new Phar(dirname(__FILE__) . '/buildfromiterator.phar');
+       var_dump($phar->buildFromIterator(new myIterator(array('a' => 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--
+rewind
+valid
+current
+string(24) "UnexpectedValueException"
+Iterator myIterator returned an invalid value (must return a string)
+===DONE===
diff --git a/ext/phar/tests/tar/phar_buildfromiterator6.phpt b/ext/phar/tests/tar/phar_buildfromiterator6.phpt
new file mode 100644 (file)
index 0000000..ae73bbd
--- /dev/null
@@ -0,0 +1,60 @@
+--TEST--
+Phar::buildFromIterator() iterator, key is int
+--SKIPIF--
+<?php if (!extension_loaded("phar")) die("skip"); ?>
+--INI--
+phar.require_hash=0
+phar.readonly=0
+--FILE--
+<?php
+class myIterator implements Iterator
+{
+    var $a;
+    function __construct(array $a)
+    {
+        $this->a = $a;
+    }
+    function next() {
+        echo "next\n";
+        return next($this->a);
+    }
+    function current() {
+        echo "current\n";
+        return current($this->a);
+    }
+    function key() {
+        echo "key\n";
+        return key($this->a);
+    }
+    function valid() {
+        echo "valid\n";
+        return current($this->a);
+    }
+    function rewind() {
+        echo "rewind\n";
+        return reset($this->a);
+    }
+}
+try {
+       chdir(dirname(__FILE__));
+       $phar = new Phar(dirname(__FILE__) . '/buildfromiterator.phar');
+       var_dump($phar->buildFromIterator(new myIterator(array(basename(__FILE__, 'php') . 'phpt'))));
+} catch (Exception $e) {
+       var_dump(get_class($e));
+       echo $e->getMessage() . "\n";
+}
+?>
+===DONE===
+--CLEAN--
+<?php 
+unlink(dirname(__FILE__) . '/buildfromiterator.phar');
+__HALT_COMPILER();
+?>
+--EXPECTF--
+rewind
+valid
+current
+key
+string(24) "UnexpectedValueException"
+Iterator myIterator returned an invalid key (must return a string)
+===DONE===
diff --git a/ext/phar/tests/tar/phar_buildfromiterator7.phpt b/ext/phar/tests/tar/phar_buildfromiterator7.phpt
new file mode 100644 (file)
index 0000000..38d2e1a
--- /dev/null
@@ -0,0 +1,60 @@
+--TEST--
+Phar::buildFromIterator() iterator, file can't be opened
+--SKIPIF--
+<?php if (!extension_loaded("phar")) die("skip"); ?>
+--INI--
+phar.require_hash=0
+phar.readonly=0
+--FILE--
+<?php
+class myIterator implements Iterator
+{
+    var $a;
+    function __construct(array $a)
+    {
+        $this->a = $a;
+    }
+    function next() {
+        echo "next\n";
+        return next($this->a);
+    }
+    function current() {
+        echo "current\n";
+        return current($this->a);
+    }
+    function key() {
+        echo "key\n";
+        return key($this->a);
+    }
+    function valid() {
+        echo "valid\n";
+        return current($this->a);
+    }
+    function rewind() {
+        echo "rewind\n";
+        return reset($this->a);
+    }
+}
+try {
+       chdir(dirname(__FILE__));
+       $phar = new Phar(dirname(__FILE__) . '/buildfromiterator.phar');
+       var_dump($phar->buildFromIterator(new myIterator(array('a' => basename(__FILE__, 'php') . '/oopsie/there.phpt'))));
+} catch (Exception $e) {
+       var_dump(get_class($e));
+       echo $e->getMessage() . "\n";
+}
+?>
+===DONE===
+--CLEAN--
+<?php 
+unlink(dirname(__FILE__) . '/buildfromiterator.phar');
+__HALT_COMPILER();
+?>
+--EXPECT--
+rewind
+valid
+current
+key
+string(24) "UnexpectedValueException"
+Iterator myIterator returned a file that could not be opened "phar_buildfromiterator7./oopsie/there.phpt"
+===DONE===
diff --git a/ext/phar/tests/tar/phar_buildfromiterator8.phpt b/ext/phar/tests/tar/phar_buildfromiterator8.phpt
new file mode 100644 (file)
index 0000000..291fd95
--- /dev/null
@@ -0,0 +1,73 @@
+--TEST--
+Phar::buildFromIterator() iterator, SplFileInfo as current tar-based
+--SKIPIF--
+<?php if (!extension_loaded("phar")) die("skip"); ?>
+--INI--
+phar.readonly=0
+--FILE--
+<?php
+try {
+       chdir(dirname(__FILE__));
+       $phar = new Phar(dirname(__FILE__) . '/buildfromiterator.phar.tar');
+       $a = $phar->buildFromIterator(new RegexIterator(new DirectoryIterator('.'), '/^frontcontroller\d{0,2}\.phar\.phpt\\z|^\.\\z|^\.\.\\z/'), dirname(__FILE__) . DIRECTORY_SEPARATOR);
+       asort($a);
+       var_dump($a);
+       var_dump($phar->isTar());
+} catch (Exception $e) {
+       var_dump(get_class($e));
+       echo $e->getMessage() . "\n";
+}
+?>
+===DONE===
+--CLEAN--
+<?php 
+unlink(dirname(__FILE__) . '/buildfromiterator.phar.tar');
+__HALT_COMPILER();
+?>
+--EXPECTF--
+array(21) {
+  ["frontcontroller1.phar.phpt"]=>
+  string(%d) "%sfrontcontroller1.phar.phpt"
+  ["frontcontroller10.phar.phpt"]=>
+  string(%d) "%sfrontcontroller10.phar.phpt"
+  ["frontcontroller11.phar.phpt"]=>
+  string(%d) "%sfrontcontroller11.phar.phpt"
+  ["frontcontroller12.phar.phpt"]=>
+  string(%d) "%sfrontcontroller12.phar.phpt"
+  ["frontcontroller13.phar.phpt"]=>
+  string(%d) "%sfrontcontroller13.phar.phpt"
+  ["frontcontroller14.phar.phpt"]=>
+  string(%d) "%sfrontcontroller14.phar.phpt"
+  ["frontcontroller15.phar.phpt"]=>
+  string(%d) "%sfrontcontroller15.phar.phpt"
+  ["frontcontroller16.phar.phpt"]=>
+  string(%d) "%sfrontcontroller16.phar.phpt"
+  ["frontcontroller17.phar.phpt"]=>
+  string(%d) "%sfrontcontroller17.phar.phpt"
+  ["frontcontroller18.phar.phpt"]=>
+  string(%d) "%sfrontcontroller18.phar.phpt"
+  ["frontcontroller19.phar.phpt"]=>
+  string(%d) "%sfrontcontroller19.phar.phpt"
+  ["frontcontroller2.phar.phpt"]=>
+  string(%d) "%sfrontcontroller2.phar.phpt"
+  ["frontcontroller20.phar.phpt"]=>
+  string(%d) "%sfrontcontroller20.phar.phpt"
+  ["frontcontroller21.phar.phpt"]=>
+  string(%d) "%sfrontcontroller21.phar.phpt"
+  ["frontcontroller3.phar.phpt"]=>
+  string(%d) "%sfrontcontroller3.phar.phpt"
+  ["frontcontroller4.phar.phpt"]=>
+  string(%d) "%sfrontcontroller4.phar.phpt"
+  ["frontcontroller5.phar.phpt"]=>
+  string(%d) "%sfrontcontroller5.phar.phpt"
+  ["frontcontroller6.phar.phpt"]=>
+  string(%d) "%sfrontcontroller6.phar.phpt"
+  ["frontcontroller7.phar.phpt"]=>
+  string(%d) "%sfrontcontroller7.phar.phpt"
+  ["frontcontroller8.phar.phpt"]=>
+  string(%d) "%sfrontcontroller8.phar.phpt"
+  ["frontcontroller9.phar.phpt"]=>
+  string(%d) "%sfrontcontroller9.phar.phpt"
+}
+bool(true)
+===DONE===
diff --git a/ext/phar/tests/tar/phar_buildfromiterator9.phpt b/ext/phar/tests/tar/phar_buildfromiterator9.phpt
new file mode 100644 (file)
index 0000000..0b56307
--- /dev/null
@@ -0,0 +1,65 @@
+--TEST--
+Phar::buildFromIterator() iterator, 1 file resource passed in
+--SKIPIF--
+<?php if (!extension_loaded("phar")) die("skip"); ?>
+--INI--
+phar.require_hash=0
+phar.readonly=0
+--FILE--
+<?php
+class myIterator implements Iterator
+{
+    var $a;
+    function __construct(array $a)
+    {
+        $this->a = $a;
+    }
+    function next() {
+        echo "next\n";
+        return next($this->a);
+    }
+    function current() {
+        echo "current\n";
+        return current($this->a);
+    }
+    function key() {
+        echo "key\n";
+        return key($this->a);
+    }
+    function valid() {
+        echo "valid\n";
+        return current($this->a);
+    }
+    function rewind() {
+        echo "rewind\n";
+        return reset($this->a);
+    }
+}
+try {
+       chdir(dirname(__FILE__));
+       $phar = new Phar(dirname(__FILE__) . '/buildfromiterator.phar');
+       var_dump($phar->buildFromIterator(new myIterator(array('a' => $a = fopen(basename(__FILE__, 'php') . 'phpt', 'r')))));
+       fclose($a);
+} catch (Exception $e) {
+       var_dump(get_class($e));
+       echo $e->getMessage() . "\n";
+}
+?>
+===DONE===
+--CLEAN--
+<?php 
+unlink(dirname(__FILE__) . '/buildfromiterator.phar');
+__HALT_COMPILER();
+?>
+--EXPECTF--
+rewind
+valid
+current
+key
+next
+valid
+array(1) {
+  ["a"]=>
+  string(%d) "[stream]"
+}
+===DONE===