mirror of
https://github.com/danog/amp.git
synced 2024-11-30 04:29:08 +01:00
Add failing Coroutine test
This commit is contained in:
parent
a660af794b
commit
aeb5de16d9
@ -13,6 +13,7 @@ use Amp\Success;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use React\Promise\FulfilledPromise as FulfilledReactPromise;
|
||||
use React\Promise\Promise as ReactPromise;
|
||||
use function Amp\call;
|
||||
|
||||
class CoroutineTest extends TestCase
|
||||
{
|
||||
@ -476,6 +477,37 @@ class CoroutineTest extends TestCase
|
||||
$this->assertSame($exception, $reason);
|
||||
}
|
||||
|
||||
/**
|
||||
* @depends testGeneratorThrowingExceptionWithFinallyFailsCoroutine
|
||||
*/
|
||||
public function testGeneratorThrowingExceptionWithFinallyBlockAndReturnThrowing()
|
||||
{
|
||||
$exception = new \Exception;
|
||||
|
||||
$generator = function () use ($exception) {
|
||||
yield new Success;
|
||||
|
||||
return call(function () use ($exception) {
|
||||
return new class($exception)
|
||||
{
|
||||
private $exception;
|
||||
|
||||
public function __construct(\Throwable $exception)
|
||||
{
|
||||
$this->exception = $exception;
|
||||
}
|
||||
|
||||
public function __destruct()
|
||||
{
|
||||
throw $this->exception;
|
||||
}
|
||||
};
|
||||
});
|
||||
};
|
||||
|
||||
new Coroutine($generator());
|
||||
}
|
||||
|
||||
/**
|
||||
* @depends testYieldSuccessfulPromise
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user