Annotation of embedaddon/php/ext/spl/tests/array_007.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: SPL: ArrayObject/Iterator from IteratorAggregate
3: --FILE--
4: <?php
5:
6: // This test also needs to exclude the protected and private variables
7: // since they cannot be accessed from the external object which iterates
8: // them.
9:
10: class test implements IteratorAggregate
11: {
12: public $pub = "public";
13: protected $pro = "protected";
14: private $pri = "private";
15:
16: function __construct()
17: {
18: $this->imp = "implicit";
19: }
20:
21: function getIterator()
22: {
23: $it = new ArrayObject($this);
24: return $it->getIterator();
25: }
26: };
27:
28: $test = new test;
29: $test->dyn = "dynamic";
30:
31: print_r($test);
32:
33: print_r($test->getIterator());
34:
35: foreach($test as $key => $val)
36: {
37: echo "$key => $val\n";
38: }
39:
40: ?>
41: ===DONE===
42: <?php exit(0); ?>
43: --EXPECTF--
44: test Object
45: (
46: [pub] => public
47: [pro:protected] => protected
48: [pri:test:private] => private
49: [imp] => implicit
50: [dyn] => dynamic
51: )
52: ArrayIterator Object
53: (
54: [storage:ArrayIterator:private] => ArrayObject Object
55: (
56: [storage:ArrayObject:private] => test Object
57: (
58: [pub] => public
59: [pro:protected] => protected
60: [pri:test:private] => private
61: [imp] => implicit
62: [dyn] => dynamic
63: )
64:
65: )
66:
67: )
68: pub => public
69: imp => implicit
70: dyn => dynamic
71: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>