public function testAwaitEmptyQueue() { if (!$this->queue->canAwait()) { $this->markTestSkipped('Method await() not supported'); } $queueTest = $this; $triggerCount = 0; $idleHandler = $this->queue->getEventManager()->attach(QueueEvent::EVENT_IDLE, function (QueueEvent $e) use($queueTest, &$triggerCount) { $triggerCount++; if ($triggerCount == 2) { $e->stopAwait(true); } }); $this->queue->await(); $this->assertEquals(2, $triggerCount, 'QueueEvent::EVENT_IDLE has been not triggered 2 times'); //Cleanup $this->queue->getEventManager()->detach($idleHandler); }