diff options
Diffstat (limited to 'assets/php/vendor/react/promise/tests/RejectedPromiseTest.php')
-rw-r--r-- | assets/php/vendor/react/promise/tests/RejectedPromiseTest.php | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/assets/php/vendor/react/promise/tests/RejectedPromiseTest.php b/assets/php/vendor/react/promise/tests/RejectedPromiseTest.php new file mode 100644 index 0000000..c886b00 --- /dev/null +++ b/assets/php/vendor/react/promise/tests/RejectedPromiseTest.php @@ -0,0 +1,50 @@ +<?php + +namespace React\Promise; + +use React\Promise\PromiseAdapter\CallbackPromiseAdapter; + +class RejectedPromiseTest extends TestCase +{ + use PromiseTest\PromiseSettledTestTrait, + PromiseTest\PromiseRejectedTestTrait; + + public function getPromiseTestAdapter(callable $canceller = null) + { + $promise = null; + + return new CallbackPromiseAdapter([ + 'promise' => function () use (&$promise) { + if (!$promise) { + throw new \LogicException('RejectedPromise must be rejected before obtaining the promise'); + } + + return $promise; + }, + 'resolve' => function () { + throw new \LogicException('You cannot call resolve() for React\Promise\RejectedPromise'); + }, + 'reject' => function ($reason = null) use (&$promise) { + if (!$promise) { + $promise = new RejectedPromise($reason); + } + }, + 'notify' => function () { + // no-op + }, + 'settle' => function ($reason = null) use (&$promise) { + if (!$promise) { + $promise = new RejectedPromise($reason); + } + }, + ]); + } + + /** @test */ + public function shouldThrowExceptionIfConstructedWithAPromise() + { + $this->setExpectedException('\InvalidArgumentException'); + + return new RejectedPromise(new RejectedPromise()); + } +} |