b374k
m1n1 1.01
Apache/2.4.41 (Ubuntu)
Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64
uid=33(www-data) gid=33(www-data) groups=33(www-data)
server ip : 62.171.164.128 | your ip : 127.0.0.1
safemode OFF
 >  / home / dev2.destoffenstraat.com / vendor / magento / framework / Phrase / Test / Unit / Renderer /
Filename/home/dev2.destoffenstraat.com/vendor/magento/framework/Phrase/Test/Unit/Renderer/InlineTest.php
Size2.84 kb
Permissionrw-r--r--
Ownerroot : root
Create time17-Aug-2025 10:26
Last modified07-Jan-2021 21:08
Last accessed23-Aug-2025 03:56
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
<?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'], []);
}
}