<?php namespace React\Promise; class CancellationQueueTest extends TestCase { /** @test */ public function acceptsSimpleCancellableThenable() { $p = new SimpleTestCancellableThenable(); $cancellationQueue = new CancellationQueue(); $cancellationQueue->enqueue($p); $cancellationQueue(); $this->assertTrue($p->cancelCalled); } /** @test */ public function ignoresSimpleCancellable() { $p = new SimpleTestCancellable(); $cancellationQueue = new CancellationQueue(); $cancellationQueue->enqueue($p); $cancellationQueue(); $this->assertFalse($p->cancelCalled); } /** @test */ public function callsCancelOnPromisesEnqueuedBeforeStart() { $d1 = $this->getCancellableDeferred(); $d2 = $this->getCancellableDeferred(); $cancellationQueue = new CancellationQueue(); $cancellationQueue->enqueue($d1->promise()); $cancellationQueue->enqueue($d2->promise()); $cancellationQueue(); } /** @test */ public function callsCancelOnPromisesEnqueuedAfterStart() { $d1 = $this->getCancellableDeferred(); $d2 = $this->getCancellableDeferred(); $cancellationQueue = new CancellationQueue(); $cancellationQueue(); $cancellationQueue->enqueue($d2->promise()); $cancellationQueue->enqueue($d1->promise()); } /** @test */ public function doesNotCallCancelTwiceWhenStartedTwice() { $d = $this->getCancellableDeferred(); $cancellationQueue = new CancellationQueue(); $cancellationQueue->enqueue($d->promise()); $cancellationQueue(); $cancellationQueue(); } /** @test */ public function rethrowsExceptionsThrownFromCancel() { $this->setExpectedException('\Exception', 'test'); $mock = $this ->getMockBuilder('React\Promise\CancellablePromiseInterface') ->getMock(); $mock ->expects($this->once()) ->method('cancel') ->will($this->throwException(new \Exception('test'))); $cancellationQueue = new CancellationQueue(); $cancellationQueue->enqueue($mock); $cancellationQueue(); } private function getCancellableDeferred() { $mock = $this->createCallableMock(); $mock ->expects($this->once()) ->method('__invoke'); return new Deferred($mock); } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
PromiseAdapter | Folder | 0755 |
|
|
PromiseTest | Folder | 0755 |
|
|
Stub | Folder | 0755 |
|
|
fixtures | Folder | 0755 |
|
|
CancellationQueueTest.php | File | 2.46 KB | 0644 |
|
DeferredTest.php | File | 3.08 KB | 0644 |
|
FulfilledPromiseTest.php | File | 2.24 KB | 0644 |
|
FunctionAllTest.php | File | 2.76 KB | 0644 |
|
FunctionAnyTest.php | File | 5.24 KB | 0644 |
|
FunctionCheckTypehintTest.php | File | 3.45 KB | 0644 |
|
FunctionMapTest.php | File | 4.63 KB | 0644 |
|
FunctionRaceTest.php | File | 5.03 KB | 0644 |
|
FunctionReduceTest.php | File | 8.21 KB | 0644 |
|
FunctionRejectTest.php | File | 1.4 KB | 0644 |
|
FunctionResolveTest.php | File | 4.04 KB | 0644 |
|
FunctionSomeTest.php | File | 6.53 KB | 0644 |
|
LazyPromiseTest.php | File | 2.77 KB | 0644 |
|
PromiseTest.php | File | 8.59 KB | 0644 |
|
RejectedPromiseTest.php | File | 2.24 KB | 0644 |
|
TestCase.php | File | 895 B | 0644 |
|
bootstrap.php | File | 192 B | 0644 |
|