![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/framework/Phrase/Test/Unit/Renderer/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Framework\Phrase\Test\Unit\Renderer; use Magento\Framework\Phrase\Renderer\Inline; use Magento\Framework\Translate\Inline\ProviderInterface; use Magento\Framework\Translate\InlineInterface; use Magento\Framework\TranslateInterface; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Psr\Log\LoggerInterface; class InlineTest extends TestCase { /** * @var TranslateInterface|MockObject */ protected $translator; /** * @var Inline */ protected $renderer; /** * @var ProviderInterface|MockObject */ protected $provider; /** * @var LoggerInterface|MockObject */ protected $loggerMock; protected function setUp(): void { $this->translator = $this->getMockForAbstractClass(TranslateInterface::class); $this->provider = $this->getMockForAbstractClass(ProviderInterface::class); $this->loggerMock = $this->getMockBuilder(LoggerInterface::class) ->getMock(); $this->renderer = new 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') ->willReturn($theme); $inlineTranslate = $this->getMockForAbstractClass(InlineInterface::class); $inlineTranslate->expects($this->once()) ->method('isAllowed') ->willReturn(true); $this->provider->expects($this->once()) ->method('get') ->willReturn($inlineTranslate); $this->assertEquals($result, $this->renderer->render([$text], [])); } public function testRenderIfInlineTranslationIsNotAllowed() { $text = 'test'; $inlineTranslate = $this->getMockForAbstractClass(InlineInterface::class); $inlineTranslate->expects($this->once()) ->method('isAllowed') ->willReturn(false); $this->provider->expects($this->once()) ->method('get') ->willReturn($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'], []); } }