127 lines
4.0 KiB
PHP
Executable File
127 lines
4.0 KiB
PHP
Executable File
<?php
|
|
/**
|
|
* Copyright © Magento, Inc. All rights reserved.
|
|
* See COPYING.txt for license details.
|
|
*/
|
|
|
|
namespace Magento\Framework\Translate;
|
|
|
|
class InlineTest extends \PHPUnit\Framework\TestCase
|
|
{
|
|
/**
|
|
* @var \Magento\Framework\Translate\Inline
|
|
*/
|
|
protected $_model;
|
|
|
|
/**
|
|
* @var string
|
|
*/
|
|
protected $_storeId = 'default';
|
|
|
|
/**
|
|
* @var \Magento\Framework\Translate\Inline\StateInterface
|
|
*/
|
|
protected $state;
|
|
|
|
public static function setUpBeforeClass(): void
|
|
{
|
|
\Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(\Magento\Framework\App\State::class)
|
|
->setAreaCode('frontend');
|
|
\Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
|
|
\Magento\Framework\View\DesignInterface::class
|
|
)->setDesignTheme(
|
|
'Magento/blank'
|
|
);
|
|
}
|
|
|
|
protected function setUp(): void
|
|
{
|
|
$this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
|
|
\Magento\Framework\Translate\Inline::class
|
|
);
|
|
$this->state = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
|
|
\Magento\Framework\Translate\Inline\StateInterface::class
|
|
);
|
|
/* Called getConfig as workaround for setConfig bug */
|
|
\Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
|
|
\Magento\Store\Model\StoreManagerInterface::class
|
|
)->getStore(
|
|
$this->_storeId
|
|
)->getConfig(
|
|
'dev/translate_inline/active'
|
|
);
|
|
\Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
|
|
\Magento\Framework\App\Config\MutableScopeConfigInterface::class
|
|
)->setValue(
|
|
'dev/translate_inline/active',
|
|
true,
|
|
\Magento\Store\Model\ScopeInterface::SCOPE_STORE,
|
|
$this->_storeId
|
|
);
|
|
}
|
|
|
|
public function testIsAllowed()
|
|
{
|
|
$this->assertTrue($this->_model->isAllowed());
|
|
$this->assertTrue($this->_model->isAllowed($this->_storeId));
|
|
$this->assertTrue(
|
|
$this->_model->isAllowed(
|
|
\Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
|
|
\Magento\Store\Model\StoreManagerInterface::class
|
|
)->getStore(
|
|
$this->_storeId
|
|
)
|
|
)
|
|
);
|
|
$this->state->suspend();
|
|
$this->assertFalse($this->_model->isAllowed());
|
|
$this->assertFalse($this->_model->isAllowed($this->_storeId));
|
|
$this->assertFalse(
|
|
$this->_model->isAllowed(
|
|
\Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
|
|
\Magento\Store\Model\StoreManagerInterface::class
|
|
)->getStore(
|
|
$this->_storeId
|
|
)
|
|
)
|
|
);
|
|
}
|
|
|
|
/**
|
|
* @param string $originalText
|
|
* @param string $expectedText
|
|
* @dataProvider processResponseBodyDataProvider
|
|
*/
|
|
public function testProcessResponseBody($originalText, $expectedText)
|
|
{
|
|
$actualText = $originalText;
|
|
$this->_model->processResponseBody($actualText, false);
|
|
$this->markTestSkipped('Bug MAGE-2494');
|
|
|
|
$expected = new \DOMDocument();
|
|
$expected->preserveWhiteSpace = false;
|
|
$expected->loadHTML($expectedText);
|
|
|
|
$actual = new \DOMDocument();
|
|
$actual->preserveWhiteSpace = false;
|
|
$actual->loadHTML($actualText);
|
|
|
|
$this->assertEquals($expected, $actual);
|
|
}
|
|
|
|
/**
|
|
* @return array
|
|
*/
|
|
public function processResponseBodyDataProvider()
|
|
{
|
|
$originalText = file_get_contents(__DIR__ . '/_files/_inline_page_original.html');
|
|
$expectedText = file_get_contents(__DIR__ . '/_files/_inline_page_expected.html');
|
|
|
|
return [
|
|
'plain text' => ['text with no translations and tags', 'text with no translations and tags'],
|
|
'html string' => [$originalText, $expectedText],
|
|
'html array' => [[$originalText], [$expectedText]]
|
|
];
|
|
}
|
|
}
|