summaryrefslogtreecommitdiff
path: root/ext/spl/examples/tests/dualiterator_001.phpt
blob: b2462bb45f2710332ab76fb65938274a2117258f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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===