summaryrefslogtreecommitdiff
path: root/ext/phar/tests/phar_oo_002.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/phar/tests/phar_oo_002.phpt')
-rw-r--r--ext/phar/tests/phar_oo_002.phpt140
1 files changed, 140 insertions, 0 deletions
diff --git a/ext/phar/tests/phar_oo_002.phpt b/ext/phar/tests/phar_oo_002.phpt
new file mode 100644
index 0000000..3754151
--- /dev/null
+++ b/ext/phar/tests/phar_oo_002.phpt
@@ -0,0 +1,140 @@
+--TEST--
+Phar object: iterator & entries
+--SKIPIF--
+<?php
+if (!extension_loaded("phar")) die("skip");
+if (version_compare(PHP_VERSION, "6.0", ">")) die("skip pre-unicode version of PHP required");
+if (!extension_loaded("spl")) die("skip SPL not available");
+?>
+--INI--
+phar.readonly=1
+phar.require_hash=0
+--FILE--
+<?php
+
+require_once 'files/phar_oo_test.inc';
+
+$phar = new Phar($fname);
+$phar->setInfoClass('SplFileInfo');
+foreach($phar as $name => $ent)
+{
+ var_dump(str_replace(str_replace('\\', '/', dirname(__FILE__)), '*', $name));
+ var_dump($ent->getFilename());
+ var_dump($ent->getSize());
+ var_dump($ent->getType());
+ var_dump($ent->isWritable());
+ var_dump($ent->isReadable());
+ var_dump($ent->isExecutable());
+ var_dump($ent->isFile());
+ var_dump($ent->isDir());
+ var_dump($ent->isLink());
+ var_dump($ent->getCTime());
+ var_dump($ent->getMTime());
+ var_dump($ent->getATime());
+}
+
+echo "==RECURSIVE==\n";
+
+$phar = new Phar($fname);
+foreach(new RecursiveIteratorIterator($phar) as $name => $ent)
+{
+ var_dump(str_replace(str_replace('\\', '/', dirname(__FILE__)), '*', $name));
+ var_dump(str_replace('\\', '/', $ent->getFilename()));
+ var_dump($ent->getCompressedSize());
+ var_dump($ent->isCRCChecked());
+ var_dump($ent->isCRCChecked() ? $ent->getCRC32() : NULL);
+ var_dump($ent->getPharFlags());
+}
+
+?>
+===DONE===
+--CLEAN--
+<?php
+unlink(dirname(__FILE__) . '/files/phar_oo_test.phar.php');
+__halt_compiler();
+?>
+--EXPECTF--
+string(42) "phar://*/files/phar_oo_test.phar.php%ca.php"
+string(5) "a.php"
+int(32)
+string(4) "file"
+bool(false)
+bool(true)
+bool(false)
+bool(true)
+bool(false)
+bool(false)
+int(%d)
+int(%d)
+int(%d)
+string(38) "phar://*/files/phar_oo_test.phar.php%cb"
+string(1) "b"
+int(0)
+string(3) "dir"
+bool(false)
+bool(true)
+bool(false)
+bool(false)
+bool(true)
+bool(false)
+int(%d)
+int(%d)
+int(%d)
+string(42) "phar://*/files/phar_oo_test.phar.php%cb.php"
+string(5) "b.php"
+int(32)
+string(4) "file"
+bool(false)
+bool(true)
+bool(false)
+bool(true)
+bool(false)
+bool(false)
+int(%d)
+int(%d)
+int(%d)
+string(42) "phar://*/files/phar_oo_test.phar.php%ce.php"
+string(5) "e.php"
+int(32)
+string(4) "file"
+bool(false)
+bool(true)
+bool(false)
+bool(true)
+bool(false)
+bool(false)
+int(%d)
+int(%d)
+int(%d)
+==RECURSIVE==
+string(42) "phar://*/files/phar_oo_test.phar.php%ca.php"
+string(5) "a.php"
+int(32)
+bool(false)
+NULL
+int(0)
+string(44) "phar://*/files/phar_oo_test.phar.php/b%cc.php"
+string(5) "c.php"
+int(34)
+bool(false)
+NULL
+int(0)
+string(44) "phar://*/files/phar_oo_test.phar.php/b%cd.php"
+string(5) "d.php"
+int(34)
+bool(false)
+NULL
+int(0)
+string(42) "phar://*/files/phar_oo_test.phar.php%cb.php"
+string(5) "b.php"
+int(32)
+bool(false)
+NULL
+int(0)
+string(42) "phar://*/files/phar_oo_test.phar.php%ce.php"
+string(5) "e.php"
+int(32)
+bool(false)
+NULL
+int(0)
+===DONE===