public function testGetRenderer() { $renderers = ['renderer_1' => $this->getMock('Magento\\Framework\\View\\Element\\Message\\Renderer\\RendererInterface'), 'renderer_2' => $this->getMock('Magento\\Framework\\View\\Element\\Message\\Renderer\\RendererInterface'), 'renderer_3' => $this->getMock('Magento\\Framework\\View\\Element\\Message\\Renderer\\RendererInterface')]; $expectationMap = ['renderer_1' => $renderers['renderer_1'], 'renderer_2' => $renderers['renderer_2'], 'renderer_3' => $renderers['renderer_3'], 'renderer_4' => null]; $pool = new RenderersPool($renderers); foreach ($expectationMap as $code => $renderer) { static::assertSame($renderer, $pool->get($code)); } }
/** * Interpret message * * @param MessageInterface $message * @return string * @throws \LogicException */ public function interpret(MessageInterface $message) { $messageConfiguration = $this->messageConfigurationsPool->getMessageConfiguration($message->getIdentifier()); if (null === $messageConfiguration) { throw new \LogicException(); } $renderer = $this->renderersPool->get($messageConfiguration['renderer']); if (null === $renderer) { throw new \LogicException(); } return $renderer->render($message, $messageConfiguration['data']); }