public function FunctionsTest::testCanNestYieldsAndFailures in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/guzzlehttp/promises/tests/functionsTest.php \GuzzleHttp\Promise\Tests\FunctionsTest::testCanNestYieldsAndFailures()
File
- vendor/
guzzlehttp/ promises/ tests/ functionsTest.php, line 562
Class
Namespace
GuzzleHttp\Promise\TestsCode
public function testCanNestYieldsAndFailures() {
$p1 = new P\Promise();
$p2 = new P\Promise();
$p3 = new P\Promise();
$p4 = new P\Promise();
$p5 = new P\Promise();
$co = P\coroutine(function () use ($p1, $p2, $p3, $p4, $p5) {
try {
(yield $p1);
} catch (\Exception $e) {
(yield $p2);
try {
(yield $p3);
(yield $p4);
} catch (\Exception $e) {
(yield $p5);
}
}
});
$p1
->reject('a');
$p2
->resolve('b');
$p3
->resolve('c');
$p4
->reject('d');
$p5
->resolve('e');
$co
->then(function ($value) use (&$result) {
$result = $value;
});
P\queue()
->run();
$this
->assertEquals('e', $result);
}