/**
* @test
*/
public function it_invokes_all_listeners()
{
$handler = new MessageHandler();
$this->eventBus->getActionEventEmitter()->attachListener(MessageBus::EVENT_ROUTE, function (ActionEvent $e) use($handler) {
if ($e->getParam(MessageBus::EVENT_PARAM_MESSAGE_NAME) === CustomMessage::class) {
$e->setParam(EventBus::EVENT_PARAM_EVENT_LISTENERS, [$handler, $handler]);
}
});
$customMessage = new CustomMessage("foo");
$this->eventBus->dispatch($customMessage);
$this->assertSame($customMessage, $handler->getLastMessage());
$this->assertEquals(2, $handler->getInvokeCounter());
}