xref: /PHP-7.4/ext/spl/tests/bug77903.phpt (revision 9a9eed47)
1--TEST--
2Bug #77903: ArrayIterator stops iterating after offsetSet call
3--FILE--
4<?php
5$a = new ArrayIterator();
6$a->rewind();
7var_dump($a->valid()); // false
8var_dump($a->current()); // null
9$a->offsetSet(1,1);
10var_dump($a->valid()); // true
11var_dump($a->current()); // 1
12$a->next();
13var_dump($a->valid()); // false
14var_dump($a->current()); // null
15$a->offsetSet(4,4);
16var_dump($a->valid()); // true
17var_dump($a->current()); // 4
18$a->next();
19var_dump($a->valid()); // false
20var_dump($a->current()); // null
21$a->next();
22var_dump($a->valid()); // false
23var_dump($a->current()); // null
24$a->offsetSet(2,2);
25var_dump($a->valid()); // true
26var_dump($a->current()); // 2
27$a->next();
28var_dump($a->valid()); // false
29var_dump($a->current()); // null
30$a->next();
31var_dump($a->valid()); // false
32var_dump($a->current()); // null
33?>
34--EXPECT--
35bool(false)
36NULL
37bool(true)
38int(1)
39bool(false)
40NULL
41bool(true)
42int(4)
43bool(false)
44NULL
45bool(false)
46NULL
47bool(true)
48int(2)
49bool(false)
50NULL
51bool(false)
52NULL
53