summaryrefslogtreecommitdiff
path: root/ext/spl/examples/tests
diff options
context:
space:
mode:
Diffstat (limited to 'ext/spl/examples/tests')
-rw-r--r--ext/spl/examples/tests/dualiterator_001.phpt48
-rw-r--r--ext/spl/examples/tests/examples.inc23
2 files changed, 71 insertions, 0 deletions
diff --git a/ext/spl/examples/tests/dualiterator_001.phpt b/ext/spl/examples/tests/dualiterator_001.phpt
new file mode 100644
index 0000000..53c1153
--- /dev/null
+++ b/ext/spl/examples/tests/dualiterator_001.phpt
@@ -0,0 +1,48 @@
+--TEST--
+SPL: DualIterator
+--SKIPIF--
+<?php if (!extension_loaded("spl") || !extension_loaded("reflection")) print "skip"; ?>
+--FILE--
+<?php
+
+function spl_examples_autoload($classname)
+{
+ include(dirname(__FILE__) . '/../' . strtolower($classname) . '.inc');
+}
+
+spl_autoload_register('spl_examples_autoload');
+
+function test($a, $b, $identical = false)
+{
+ var_dump(DualIterator::compareIterators(
+ new RecursiveArrayIterator($a),
+ new RecursiveArrayIterator($b),
+ $identical));
+}
+
+test(array(1,2,3), array(1,2,3));
+test(array(1,2,3), array(1,2));
+test(array(1,array(21,22),3), array(1,array(21,22),3));
+test(array(1,array(21,22),3), array(1,array(21,22,23),3));
+test(array(1,array(21,22),3), array(1,array(21,22,3)));
+test(array(1,array(21,22),3), array(1,array(21),array(22),3));
+test(array(1,2,3), array(1,"2",3), false);
+test(array(1,2,3), array(1,"2",3), true);
+test(array(1,array(21,22),3), array(1,array(21,"22"),3), false);
+test(array(1,array(21,22),3), array(1,array(21,"22"),3), true);
+
+?>
+===DONE===
+<?php exit(0); ?>
+--EXPECT--
+bool(true)
+bool(false)
+bool(true)
+bool(false)
+bool(false)
+bool(false)
+bool(true)
+bool(false)
+bool(true)
+bool(false)
+===DONE===
diff --git a/ext/spl/examples/tests/examples.inc b/ext/spl/examples/tests/examples.inc
new file mode 100644
index 0000000..feeba7d
--- /dev/null
+++ b/ext/spl/examples/tests/examples.inc
@@ -0,0 +1,23 @@
+<?php
+
+class IncludeFiles extends ArrayIterator
+{
+ function __construct($path, $classes)
+ {
+ parent::__construct();
+ foreach($classes as $c)
+ {
+ $this->append($path . '/' . strtolower($c) . '.inc');
+ }
+ }
+}
+
+$classes = array(
+);
+
+foreach (new IncludeFiles(dirname(__FILE__). '/..', $classes) as $file)
+{
+ require_once($file);
+}
+
+?> \ No newline at end of file