TaskQueueTest.php 839 B

1234567891011121314151617181920212223242526272829303132
  1. <?php
  2. namespace GuzzleHttp\Promise\Test;
  3. use GuzzleHttp\Promise\TaskQueue;
  4. use PHPUnit\Framework\TestCase;
  5. class TaskQueueTest extends TestCase
  6. {
  7. public function testKnowsIfEmpty()
  8. {
  9. $tq = new TaskQueue(false);
  10. $this->assertTrue($tq->isEmpty());
  11. }
  12. public function testKnowsIfFull()
  13. {
  14. $tq = new TaskQueue(false);
  15. $tq->add(function () {});
  16. $this->assertFalse($tq->isEmpty());
  17. }
  18. public function testExecutesTasksInOrder()
  19. {
  20. $tq = new TaskQueue(false);
  21. $called = [];
  22. $tq->add(function () use (&$called) { $called[] = 'a'; });
  23. $tq->add(function () use (&$called) { $called[] = 'b'; });
  24. $tq->add(function () use (&$called) { $called[] = 'c'; });
  25. $tq->run();
  26. $this->assertEquals(['a', 'b', 'c'], $called);
  27. }
  28. }