From 920b4309c91626ced16db52bcda3d6baea2dade1 Mon Sep 17 00:00:00 2001 From: Joan He <johe@magento.com> Date: Fri, 21 Oct 2016 15:46:42 -0500 Subject: [PATCH] MAGETWO-59923: Configuration in \Magento\Indexer\Model\Config\Data contains objects --- .../Paypal/Model/Config/Rules/Converter.php | 2 +- .../Magento/Indexer/Model/Config/DataTest.php | 68 +++++++++++++++++++ .../Indexer/Model/Config/_files/result.php | 4 +- .../Framework/Indexer/Config/Converter.php | 2 +- 4 files changed, 72 insertions(+), 4 deletions(-) create mode 100644 dev/tests/integration/testsuite/Magento/Indexer/Model/Config/DataTest.php diff --git a/app/code/Magento/Paypal/Model/Config/Rules/Converter.php b/app/code/Magento/Paypal/Model/Config/Rules/Converter.php index d65078212d8..d14bc659759 100644 --- a/app/code/Magento/Paypal/Model/Config/Rules/Converter.php +++ b/app/code/Magento/Paypal/Model/Config/Rules/Converter.php @@ -85,7 +85,7 @@ class Converter implements ConverterInterface if ($this->hasNodeElement($child)) { $result = [ 'name' => $child->getAttribute('name'), - 'message' => __($child->getAttribute('message')), + 'message' => __($child->getAttribute('message'))->__toString(), 'event' => $child->getAttribute('event'), 'argument' => $this->createArgument($child), ]; diff --git a/dev/tests/integration/testsuite/Magento/Indexer/Model/Config/DataTest.php b/dev/tests/integration/testsuite/Magento/Indexer/Model/Config/DataTest.php new file mode 100644 index 00000000000..673933c6914 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Indexer/Model/Config/DataTest.php @@ -0,0 +1,68 @@ +<?php +/** + * Copyright © 2016 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\Indexer\Model\Config; + +class DataTest extends \PHPUnit_Framework_TestCase +{ + /** + * @var \Magento\Framework\ObjectManagerInterface + */ + private $objectManager; + + protected function setUp() + { + $this->objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); + + } + + public function testConstructor() + { + $pathFiles = __DIR__ . '/_files'; + $expectedResult = require $pathFiles . '/result.php'; + $path = $pathFiles . '/indexer.xml'; + $fileResolverMock = $this->getMock(\Magento\Framework\Config\FileResolverInterface::class); + $fileIterator = $this->objectManager->create( + \Magento\Framework\Config\FileIterator::class, + [ + 'paths' => [$path], + ] + ); + $fileResolverMock->method('get') + ->willReturn($fileIterator); + $this->cleanAllCache(); + + $reader = $this->objectManager->create( + \Magento\Framework\Indexer\Config\Reader::class, + [ + 'fileResolver' => $fileResolverMock, + ] + ); + $model = $this->objectManager->create( + \Magento\Indexer\Model\Config\Data::class, + [ + 'reader' => $reader, + ] + ); + $this->assertEquals($expectedResult['catalogsearch_fulltext'], $model->get('catalogsearch_fulltext')); + $model2 = $this->objectManager->create( + \Magento\Indexer\Model\Config\Data::class, + [ + 'reader' => $reader, + ] + ); + $this->assertEquals($expectedResult['catalogsearch_fulltext'], $model2->get('catalogsearch_fulltext')); + } + + private function cleanAllCache() + { + /** @var \Magento\Framework\App\Cache\Frontend\Pool $cachePool */ + $cachePool = $this->objectManager->get(\Magento\Framework\App\Cache\Frontend\Pool::class); + /** @var \Magento\Framework\Cache\FrontendInterface $cacheType */ + foreach ($cachePool as $cacheType) { + $cacheType->getBackend()->clean(); + } + } +} diff --git a/dev/tests/integration/testsuite/Magento/Indexer/Model/Config/_files/result.php b/dev/tests/integration/testsuite/Magento/Indexer/Model/Config/_files/result.php index fc3d466dd49..aed5bbfd99d 100644 --- a/dev/tests/integration/testsuite/Magento/Indexer/Model/Config/_files/result.php +++ b/dev/tests/integration/testsuite/Magento/Indexer/Model/Config/_files/result.php @@ -12,8 +12,8 @@ return [ 'primary' => 'first', 'view_id' => 'catalogsearch_fulltext', 'action_class' => \Magento\CatalogSearch\Model\Indexer\Fulltext::class, - 'title' => __('Catalog Search'), - 'description' => __('Rebuild Catalog product fulltext search index'), + 'title' => __('Catalog Search')->__toString(), + 'description' => __('Rebuild Catalog product fulltext search index')->__toString(), 'fieldsets' => [ [ diff --git a/lib/internal/Magento/Framework/Indexer/Config/Converter.php b/lib/internal/Magento/Framework/Indexer/Config/Converter.php index b8b17b185a1..14b3ebaacc8 100644 --- a/lib/internal/Magento/Framework/Indexer/Config/Converter.php +++ b/lib/internal/Magento/Framework/Indexer/Config/Converter.php @@ -212,7 +212,7 @@ class Converter implements ConverterInterface { $value = $node->nodeValue; if ($this->getAttributeValue($node, 'translate') == 'true') { - $value = new \Magento\Framework\Phrase($value); + $value = (new \Magento\Framework\Phrase($value))->__toString(); } return $value; } -- GitLab