p2 project
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
907 B

<?php
declare(strict_types=1);
namespace GuzzleHttp\Promise\Tests;
use GuzzleHttp\Promise\TaskQueue;
use PHPUnit\Framework\TestCase;
class TaskQueueTest extends TestCase
{
public function testKnowsIfEmpty(): void
{
$tq = new TaskQueue(false);
$this->assertTrue($tq->isEmpty());
}
public function testKnowsIfFull(): void
{
$tq = new TaskQueue(false);
$tq->add(function (): void {});
$this->assertFalse($tq->isEmpty());
}
public function testExecutesTasksInOrder(): void
{
$tq = new TaskQueue(false);
$called = [];
$tq->add(function () use (&$called): void { $called[] = 'a'; });
$tq->add(function () use (&$called): void { $called[] = 'b'; });
$tq->add(function () use (&$called): void { $called[] = 'c'; });
$tq->run();
$this->assertSame(['a', 'b', 'c'], $called);
}
}