PluginProbe
WP-Stateless – Google Cloud Storage / 2.1.4
WP-Stateless – Google Cloud Storage v2.1.4
4.4.3 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.2.7 2.3.0 2.3.1 2.3.2 3.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.2.0 3.2.1 3.2.2 All 62 releases
wp-stateless / lib / Google / vendor / react / promise / tests / PromiseTest.php

PromiseTest.php in WP-Stateless – Google Cloud Storage 2.1.4, at lib/Google/vendor/react/promise/tests/PromiseTest.php

85 lines 2.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace React\Promise;
4
5 use React\Promise\PromiseAdapter\CallbackPromiseAdapter;
6
7 class PromiseTest extends TestCase
8 {
9 use PromiseTest\FullTestTrait;
10
11 public function getPromiseTestAdapter(callable $canceller = null)
12 {
13 $resolveCallback = $rejectCallback = $progressCallback = null;
14
15 $promise = new Promise(function ($resolve, $reject, $progress) use (&$resolveCallback, &$rejectCallback, &$progressCallback) {
16 $resolveCallback = $resolve;
17 $rejectCallback = $reject;
18 $progressCallback = $progress;
19 }, $canceller);
20
21 return new CallbackPromiseAdapter([
22 'promise' => function () use ($promise) {
23 return $promise;
24 },
25 'resolve' => $resolveCallback,
26 'reject' => $rejectCallback,
27 'notify' => $progressCallback,
28 'settle' => $resolveCallback,
29 ]);
30 }
31
32 /** @test */
33 public function shouldRejectIfResolverThrowsException()
34 {
35 $exception = new \Exception('foo');
36
37 $promise = new Promise(function () use ($exception) {
38 throw $exception;
39 });
40
41 $mock = $this->createCallableMock();
42 $mock
43 ->expects($this->once())
44 ->method('__invoke')
45 ->with($this->identicalTo($exception));
46
47 $promise
48 ->then($this->expectCallableNever(), $mock);
49 }
50
51 /** @test */
52 public function shouldFulfillIfFullfilledWithSimplePromise()
53 {
54 $adapter = $this->getPromiseTestAdapter();
55
56 $mock = $this->createCallableMock();
57 $mock
58 ->expects($this->once())
59 ->method('__invoke')
60 ->with($this->identicalTo('foo'));
61
62 $adapter->promise()
63 ->then($mock);
64
65 $adapter->resolve(new SimpleFulfilledTestPromise());
66 }
67
68 /** @test */
69 public function shouldRejectIfRejectedWithSimplePromise()
70 {
71 $adapter = $this->getPromiseTestAdapter();
72
73 $mock = $this->createCallableMock();
74 $mock
75 ->expects($this->once())
76 ->method('__invoke')
77 ->with($this->identicalTo('foo'));
78
79 $adapter->promise()
80 ->then($this->expectCallableNever(), $mock);
81
82 $adapter->resolve(new SimpleRejectedTestPromise());
83 }
84 }
85