Server : Apache System : Linux indy02.toastserver.com 3.10.0-962.3.2.lve1.5.85.el7.x86_64 #1 SMP Thu Apr 18 15:18:36 UTC 2024 x86_64 User : palandch ( 1163) PHP Version : 7.1.33 Disable Function : NONE Directory : /home/palandch/Cloudflare-CPanel-7.0.1/vendor/react/promise/tests/ |
<?php namespace React\Promise; class FunctionResolveTest extends TestCase { /** @test */ public function shouldResolveAnImmediateValue() { $expected = 123; $mock = $this->createCallableMock(); $mock ->expects($this->once()) ->method('__invoke') ->with($this->identicalTo($expected)); resolve($expected) ->then( $mock, $this->expectCallableNever() ); } /** @test */ public function shouldResolveAFulfilledPromise() { $expected = 123; $resolved = new FulfilledPromise($expected); $mock = $this->createCallableMock(); $mock ->expects($this->once()) ->method('__invoke') ->with($this->identicalTo($expected)); resolve($resolved) ->then( $mock, $this->expectCallableNever() ); } /** @test */ public function shouldResolveAThenable() { $thenable = new SimpleFulfilledTestThenable(); $mock = $this->createCallableMock(); $mock ->expects($this->once()) ->method('__invoke') ->with($this->identicalTo('foo')); resolve($thenable) ->then( $mock, $this->expectCallableNever() ); } /** @test */ public function shouldResolveACancellableThenable() { $thenable = new SimpleTestCancellableThenable(); $promise = resolve($thenable); $promise->cancel(); $this->assertTrue($thenable->cancelCalled); } /** @test */ public function shouldRejectARejectedPromise() { $expected = 123; $resolved = new RejectedPromise($expected); $mock = $this->createCallableMock(); $mock ->expects($this->once()) ->method('__invoke') ->with($this->identicalTo($expected)); resolve($resolved) ->then( $this->expectCallableNever(), $mock ); } /** @test */ public function shouldSupportDeepNestingInPromiseChains() { $d = new Deferred(); $d->resolve(false); $result = resolve(resolve($d->promise()->then(function ($val) { $d = new Deferred(); $d->resolve($val); $identity = function ($val) { return $val; }; return resolve($d->promise()->then($identity))->then( function ($val) { return !$val; } ); }))); $mock = $this->createCallableMock(); $mock ->expects($this->once()) ->method('__invoke') ->with($this->identicalTo(true)); $result->then($mock); } /** @test */ public function shouldSupportVeryDeepNestedPromises() { $deferreds = []; // @TODO Increase count once global-queue is merged for ($i = 0; $i < 10; $i++) { $deferreds[] = $d = new Deferred(); $p = $d->promise(); $last = $p; for ($j = 0; $j < 10; $j++) { $last = $last->then(function($result) { return $result; }); } } $p = null; foreach ($deferreds as $d) { if ($p) { $d->resolve($p); } $p = $d->promise(); } $deferreds[0]->resolve(true); $mock = $this->createCallableMock(); $mock ->expects($this->once()) ->method('__invoke') ->with($this->identicalTo(true)); $deferreds[0]->promise()->then($mock); } /** @test */ public function returnsExtendePromiseForSimplePromise() { $promise = $this ->getMockBuilder('React\Promise\PromiseInterface') ->getMock(); $this->assertInstanceOf('React\Promise\ExtendedPromiseInterface', resolve($promise)); } }