diff options
Diffstat (limited to 'ext/spl/examples/tests')
-rw-r--r-- | ext/spl/examples/tests/dualiterator_001.phpt | 48 | ||||
-rw-r--r-- | ext/spl/examples/tests/examples.inc | 23 |
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 |