1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Framework;
- use Magento\TestFramework\Helper\Bootstrap;
- /**
- * Class TranslateCachingTest
- * @package Magento\Framework
- * @magentoAppIsolation enabled
- */
- class TranslateCachingTest extends \PHPUnit\Framework\TestCase
- {
- /**
- * @var \Magento\Framework\Phrase\RendererInterface
- */
- protected $renderer;
- /**
- * @var \Magento\Framework\ObjectManagerInterface
- */
- protected $objectManager;
- protected function setUp()
- {
- $this->objectManager = Bootstrap::getObjectManager();
- $this->renderer = Phrase::getRenderer();
- Phrase::setRenderer($this->objectManager->get(\Magento\Framework\Phrase\RendererInterface::class));
- }
- protected function tearDown()
- {
- Phrase::setRenderer($this->renderer);
- /** @var \Magento\Framework\App\Cache\Type\Translate $cache */
- $cache = $this->objectManager->get(\Magento\Framework\App\Cache\Type\Translate::class);
- $cache->clean();
- }
- /**
- * @magentoDataFixture Magento/Translation/_files/db_translate.php
- */
- public function testLoadDataCaching()
- {
- /** @var \Magento\Framework\Translate $model */
- $model = $this->objectManager->get(\Magento\Framework\Translate::class);
- $model->loadData(\Magento\Framework\App\Area::AREA_FRONTEND, true); // this is supposed to cache the fixture
- $this->assertEquals('Fixture Db Translation', new Phrase('Fixture String'));
- /** @var \Magento\Translation\Model\ResourceModel\StringUtils $translateString */
- $translateString = $this->objectManager->create(\Magento\Translation\Model\ResourceModel\StringUtils::class);
- $translateString->saveTranslate('Fixture String', 'New Db Translation');
- $this->assertEquals(
- 'Fixture Db Translation',
- new Phrase('Fixture String'),
- 'Translation is expected to be cached'
- );
- $model->loadData(\Magento\Framework\App\Area::AREA_FRONTEND, true);
- $this->assertEquals(
- 'New Db Translation',
- new Phrase('Fixture String'),
- 'Forced load should not use cache'
- );
- }
- }
|