12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- --TEST--
- Bug #70904 (yield from incorrectly marks valid generator as finished)
- --FILE--
- <?php
- function g1() {
- yield 1;
- }
- function g2($g1) {
- yield from $g1;
- echo "reached!\n";
- yield 2;
- }
- $g1 = g1();
- $g2 = g2($g1);
- var_dump($g2->valid());
- var_dump($g2->current());
- $g1->next();
- var_dump($g1->valid());
- var_dump($g2->valid());
- var_dump($g2->current());
- $g2->next();
- var_dump($g2->valid());
- var_dump($g2->current());
- $g2->next();
- var_dump($g2->valid());
- var_dump($g2->current());
- ?>
- --EXPECT--
- bool(true)
- int(1)
- bool(false)
- bool(true)
- int(1)
- reached!
- bool(true)
- int(2)
- bool(false)
- NULL
|