summaryrefslogtreecommitdiff
path: root/ext/spl/tests/dit_002.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/spl/tests/dit_002.phpt')
-rw-r--r--ext/spl/tests/dit_002.phpt77
1 files changed, 77 insertions, 0 deletions
diff --git a/ext/spl/tests/dit_002.phpt b/ext/spl/tests/dit_002.phpt
new file mode 100644
index 0000000..a266542
--- /dev/null
+++ b/ext/spl/tests/dit_002.phpt
@@ -0,0 +1,77 @@
+--TEST--
+SPL: DirectoryIterator defaults
+--SKIPIF--
+<?php if (!extension_loaded("spl") || !extension_loaded('reflection') || !defined('GLOB_ERR')) print "skip"; ?>
+--FILE--
+<?php
+
+$classes = array(
+ 'DirectoryIterator' => 0,
+ 'FilesystemIterator' => 1,
+ 'RecursiveDirectoryIterator' => 1,
+ 'GlobIterator' => 1,
+);
+
+foreach ($classes as $class => $flags) {
+ echo "===$class===\n";
+ $ref = new ReflectionClass($class);
+ $obj = $ref->newInstance('glob://*');
+ echo get_class($obj->current()) . "\n";
+ if ($flags)
+ {
+ var_dump($obj->getFlags());
+ $flags = array(
+ FilesystemIterator::CURRENT_AS_FILEINFO => 0,
+ FilesystemIterator::CURRENT_AS_SELF => 0,
+ FilesystemIterator::CURRENT_AS_PATHNAME => 1,
+ );
+ foreach($flags as $flag => $isstring) {
+ $obj->setFlags($flag);
+ $obj->rewind();
+ var_dump($obj->getFlags());
+ if ($isstring) {
+ $val = $obj->current();
+ if (is_string($val)) {
+ var_dump(true);
+ } else {
+ var_dump($val);
+ }
+ } else {
+ echo get_class($obj->current()) . "\n";
+ }
+ }
+ }
+}
+?>
+===DONE===
+--EXPECTF--
+===DirectoryIterator===
+DirectoryIterator
+===FilesystemIterator===
+SplFileInfo
+int(%d)
+int(0)
+SplFileInfo
+int(16)
+FilesystemIterator
+int(32)
+bool(true)
+===RecursiveDirectoryIterator===
+SplFileInfo
+int(0)
+int(0)
+SplFileInfo
+int(16)
+RecursiveDirectoryIterator
+int(32)
+bool(true)
+===GlobIterator===
+SplFileInfo
+int(0)
+int(0)
+SplFileInfo
+int(16)
+GlobIterator
+int(32)
+bool(true)
+===DONE===