123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- <?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()
- {
- \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()
- {
- $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->markTestIncomplete('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');
- $package = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
- \Magento\Framework\View\DesignInterface::class
- )->getDesignTheme()->getPackageCode();
- $expectedText = str_replace('{{design_package}}', $package, $expectedText);
- return [
- 'plain text' => ['text with no translations and tags', 'text with no translations and tags'],
- 'html string' => [$originalText, $expectedText],
- 'html array' => [[$originalText], [$expectedText]]
- ];
- }
- }
|