summaryrefslogtreecommitdiff
path: root/ext/spl/tests/fixedarray_003.phpt
blob: 69cec7528ecc2ace92eedecfa6fb9e63f1a8bbdb (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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
--TEST--
SPL: FixedArray: Iterators
--FILE--
<?php
class A extends SplFixedArray {
	public $prop1 = "dummy";
	public $prop2 = "dummy";

    public function current() {
        echo "A::current\n";
        return parent::current();
    }
    public function key() {
        echo "A::key\n";
        return parent::key();
    }
    public function rewind() {
        echo "A::rewind\n";
        return parent::rewind();
    }
    public function valid() {
        echo "A::valid\n";
        return parent::valid();
    }
    public function next() {
        echo "A::next\n";
        return parent::next();
    }
}

echo "==Direct instance==\n";
$a = new SplFixedArray(5);
$a[0] = "a";
$a[1] = "c";
$a[2] = "d";
$a[3] = "e";
$a[4] = "f";
foreach ($a as $k => $v) {
    echo "$k => $v\n";
}
echo "==Child instance==\n";
$a = new A(5);
$a[0] = "a";
$a[1] = "c";
$a[2] = "d";
$a[3] = "e";
$a[4] = "f";
foreach ($a as $k => $v) {
    echo "$k => $v\n";
}
?>
===DONE===
--EXPECTF--
==Direct instance==
0 => a
1 => c
2 => d
3 => e
4 => f
==Child instance==
A::rewind
A::valid
A::current
A::key
0 => a
A::next
A::valid
A::current
A::key
1 => c
A::next
A::valid
A::current
A::key
2 => d
A::next
A::valid
A::current
A::key
3 => e
A::next
A::valid
A::current
A::key
4 => f
A::next
A::valid
===DONE===