Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
TranslateCachingTest.php
Go to the documentation of this file.
1 <?php
6 namespace Magento\Framework;
7 
9 
15 class TranslateCachingTest extends \PHPUnit\Framework\TestCase
16 {
20  protected $renderer;
21 
25  protected $objectManager;
26 
27  protected function setUp()
28  {
29  $this->objectManager = Bootstrap::getObjectManager();
30  $this->renderer = Phrase::getRenderer();
31  Phrase::setRenderer($this->objectManager->get(\Magento\Framework\Phrase\RendererInterface::class));
32  }
33 
34  protected function tearDown()
35  {
36  Phrase::setRenderer($this->renderer);
37 
39  $cache = $this->objectManager->get(\Magento\Framework\App\Cache\Type\Translate::class);
40  $cache->clean();
41  }
42 
46  public function testLoadDataCaching()
47  {
49  $model = $this->objectManager->get(\Magento\Framework\Translate::class);
50 
51  $model->loadData(\Magento\Framework\App\Area::AREA_FRONTEND, true); // this is supposed to cache the fixture
52  $this->assertEquals('Fixture Db Translation', new Phrase('Fixture String'));
53 
55  $translateString = $this->objectManager->create(\Magento\Translation\Model\ResourceModel\StringUtils::class);
56  $translateString->saveTranslate('Fixture String', 'New Db Translation');
57 
58  $this->assertEquals(
59  'Fixture Db Translation',
60  new Phrase('Fixture String'),
61  'Translation is expected to be cached'
62  );
63 
64  $model->loadData(\Magento\Framework\App\Area::AREA_FRONTEND, true);
65  $this->assertEquals(
66  'New Db Translation',
67  new Phrase('Fixture String'),
68  'Forced load should not use cache'
69  );
70  }
71 }
$translateString
Definition: db_translate.php:8
static setRenderer(RendererInterface $renderer)
Definition: Phrase.php:46