translator = $this->createMock(\Magento\Framework\TranslateInterface::class); $this->provider = $this->createMock(\Magento\Framework\Translate\Inline\ProviderInterface::class); $this->loggerMock = $this->getMockBuilder(\Psr\Log\LoggerInterface::class) ->getMock(); $this->renderer = new \Magento\Framework\Phrase\Renderer\Inline( $this->translator, $this->provider, $this->loggerMock ); } public function testRenderIfInlineTranslationIsAllowed() { $theme = 'theme'; $text = 'test'; $result = sprintf('{{{%s}}{{%s}}}', $text, $theme); $this->translator->expects($this->once()) ->method('getTheme') ->will($this->returnValue($theme)); $inlineTranslate = $this->createMock(\Magento\Framework\Translate\InlineInterface::class); $inlineTranslate->expects($this->once()) ->method('isAllowed') ->will($this->returnValue(true)); $this->provider->expects($this->once()) ->method('get') ->will($this->returnValue($inlineTranslate)); $this->assertEquals($result, $this->renderer->render([$text], [])); } public function testRenderIfInlineTranslationIsNotAllowed() { $text = 'test'; $inlineTranslate = $this->createMock(\Magento\Framework\Translate\InlineInterface::class); $inlineTranslate->expects($this->once()) ->method('isAllowed') ->will($this->returnValue(false)); $this->provider->expects($this->once()) ->method('get') ->will($this->returnValue($inlineTranslate)); $this->assertEquals($text, $this->renderer->render([$text], [])); } public function testRenderException() { $message = 'something went wrong'; $exception = new \Exception($message); $this->provider->expects($this->once()) ->method('get') ->willThrowException($exception); $this->expectException('Exception'); $this->expectExceptionMessage($message); $this->renderer->render(['text'], []); } }