OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
firebase
/
vendor
/
guzzlehttp
/
promises
/
tests
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
08/12/2024 10:33:20 AM
rwxr-xr-x
📄
AggregateExceptionTest.php
422 bytes
08/12/2024 10:33:20 AM
rw-r--r--
📄
CoroutineTest.php
3.59 KB
08/12/2024 10:33:20 AM
rw-r--r--
📄
CreateTest.php
1.57 KB
08/12/2024 10:33:20 AM
rw-r--r--
📄
EachPromiseTest.php
14.62 KB
08/12/2024 10:33:20 AM
rw-r--r--
📄
EachTest.php
904 bytes
08/12/2024 10:33:20 AM
rw-r--r--
📄
FulfilledPromiseTest.php
3.01 KB
08/12/2024 10:33:20 AM
rw-r--r--
📄
IsTest.php
1.01 KB
08/12/2024 10:33:20 AM
rw-r--r--
📄
NotPromiseInstance.php
1009 bytes
08/12/2024 10:33:20 AM
rw-r--r--
📄
PromiseTest.php
21.8 KB
08/12/2024 10:33:20 AM
rw-r--r--
📄
PropertyHelper.php
568 bytes
08/12/2024 10:33:20 AM
rw-r--r--
📄
RejectedPromiseTest.php
3.96 KB
08/12/2024 10:33:20 AM
rw-r--r--
📄
RejectionExceptionTest.php
755 bytes
08/12/2024 10:33:20 AM
rw-r--r--
📄
TaskQueueTest.php
872 bytes
08/12/2024 10:33:20 AM
rw-r--r--
📄
Thennable.php
475 bytes
08/12/2024 10:33:20 AM
rw-r--r--
📄
Thing1.php
268 bytes
08/12/2024 10:33:20 AM
rw-r--r--
📄
Thing2.php
200 bytes
08/12/2024 10:33:20 AM
rw-r--r--
📄
UtilsTest.php
23.63 KB
08/12/2024 10:33:20 AM
rw-r--r--
Editing: CoroutineTest.php
Close
<?php namespace GuzzleHttp\Promise\Tests; use GuzzleHttp\Promise as P; use GuzzleHttp\Promise\Coroutine; use GuzzleHttp\Promise\Promise; use GuzzleHttp\Promise\PromiseInterface; use PHPUnit\Framework\TestCase; use ReflectionClass; class CoroutineTest extends TestCase { public function testReturnsCoroutine() { $fn = function () { yield 'foo'; }; $this->assertInstanceOf(P\Coroutine::class, P\Coroutine::of($fn)); } /** * @dataProvider promiseInterfaceMethodProvider * * @param string $method * @param array $args */ public function testShouldProxyPromiseMethodsToResultPromise($method, $args = []) { $coroutine = new Coroutine(function () { yield 0; }); $mockPromise = $this->getMockForAbstractClass(PromiseInterface::class); call_user_func_array([$mockPromise->expects($this->once())->method($method), 'with'], $args); $resultPromiseProp = (new ReflectionClass(Coroutine::class))->getProperty('result'); $resultPromiseProp->setAccessible(true); $resultPromiseProp->setValue($coroutine, $mockPromise); call_user_func_array([$coroutine, $method], $args); } public function promiseInterfaceMethodProvider() { return [ ['then', [null, null]], ['otherwise', [function () {}]], ['wait', [true]], ['getState', []], ['resolve', [null]], ['reject', [null]], ]; } public function testShouldCancelResultPromiseAndOutsideCurrentPromise() { $coroutine = new Coroutine(function () { yield 0; }); $mockPromises = [ 'result' => $this->getMockForAbstractClass(PromiseInterface::class), 'currentPromise' => $this->getMockForAbstractClass(PromiseInterface::class), ]; foreach ($mockPromises as $propName => $mockPromise) { /** * @var $mockPromise \PHPUnit_Framework_MockObject_MockObject */ $mockPromise->expects($this->once()) ->method('cancel') ->with(); $promiseProp = (new ReflectionClass(Coroutine::class))->getProperty($propName); $promiseProp->setAccessible(true); $promiseProp->setValue($coroutine, $mockPromise); } $coroutine->cancel(); } public function testWaitShouldResolveChainedCoroutines() { $promisor = function () { return P\Coroutine::of(function () { yield $promise = new Promise(function () use (&$promise) { $promise->resolve(1); }); }); }; $promise = $promisor()->then($promisor)->then($promisor); $this->assertSame(1, $promise->wait()); } public function testWaitShouldHandleIntermediateErrors() { $promise = P\Coroutine::of(function () { yield $promise = new Promise(function () use (&$promise) { $promise->resolve(1); }); }) ->then(function () { return P\Coroutine::of(function () { yield $promise = new Promise(function () use (&$promise) { $promise->reject(new \Exception); }); }); }) ->otherwise(function (\Exception $error = null) { if (!$error) { self::fail('Error did not propagate.'); } return 3; }); $this->assertSame(3, $promise->wait()); } }