1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
<?php
declare(strict_types=1);
namespace GuzzleHttp\Promise\Tests;
use GuzzleHttp\Promise as P;
use GuzzleHttp\Promise\FulfilledPromise;
use GuzzleHttp\Promise\Promise;
use GuzzleHttp\Promise\RejectedPromise;
use PHPUnit\Framework\TestCase;
class EachTest extends TestCase
{
public function testCallsEachLimit(): void
{
$p = new Promise();
$aggregate = P\Each::ofLimit($p, 2);
$p->resolve('a');
P\Utils::queue()->run();
$this->assertTrue(P\Is::fulfilled($aggregate));
}
public function testEachLimitAllRejectsOnFailure(): void
{
$p = [new FulfilledPromise('a'), new RejectedPromise('b')];
$aggregate = P\Each::ofLimitAll($p, 2);
P\Utils::queue()->run();
$this->assertTrue(P\Is::rejected($aggregate));
$result = P\Utils::inspect($aggregate);
$this->assertSame('b', $result['reason']);
}
}
|