summaryrefslogtreecommitdiff
path: root/Zend/tests/generators/yield_from_valid_exception.phpt
blob: d3e054bfafb9d854de52942785a05169d9d535da (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
--TEST--
Exception from valid() during yield from
--FILE--
<?php

class FooBar implements Iterator {
    function rewind() {}
    function current() {}
    function key() {}
    function next() {}
    function valid() {
        throw new Exception("Exception from valid()");
    }
}

function gen() {
    try {
        // the fact that the yield from result is used is relevant.
        var_dump(yield from new FooBar);
    } catch (Exception $e) {
        echo $e->getMessage(), "\n";
    }
}

$x = gen();
$x->current();

?>
--EXPECT--
Exception from valid()