public function testApiTick_InvokesOnlyCallbacksThatWereOnQueueBeforeTick()
{
$queue = $this->createTickQueue();
$str = '';
$queue->add(function () use(&$str) {
$str .= 'A';
});
$queue->add(function () use(&$str, $queue) {
$queue->add(function () use(&$str) {
$str .= 'D';
});
$str .= 'B';
});
$queue->add(function () use(&$str, $queue) {
$str .= 'C';
$queue->add(function () use(&$str) {
$str .= 'E';
});
});
$queue->tick();
$this->assertSame('ABC', $str);
}