summaryrefslogtreecommitdiff
path: root/Zend/tests/generators/nested_method_calls.phpt
blob: 0d640b31c6b892e7fa1194c6fe60b7de23eb8888 (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
--TEST--
Yield can be used in nested method calls
--FILE--
<?php

class A {
    function foo() {
        echo "Called A::foo\n";
    }
}

class B {
    function foo() {
        echo "Called B::foo\n";
    }
}

function gen($obj) {
    $obj->foo($obj->foo(yield));
}

$g1 = gen(new A);
$g1->current();

$g2 = gen(new B);
$g2->current();

$g1->next();
$g2->next();

?>
--EXPECT--
Called A::foo
Called A::foo
Called B::foo
Called B::foo