From 435b165e37048955fdefd4c4d9537ac1dc2d260e Mon Sep 17 00:00:00 2001 From: gwharton Date: Sat, 5 May 2018 23:12:05 +0100 Subject: [PATCH 1/5] [2.3-develop] [ForwardPort] Port of #12285 The option false for mobile device don't work in product view page gallery Change the type of config variables of values "true" and "false" to type boolean, instead of string. --- .../Framework/Config/ConverterTest.php | 92 +++++++++++++++++++ .../Magento/Framework/Config/Converter.php | 4 +- 2 files changed, 95 insertions(+), 1 deletion(-) create mode 100644 dev/tests/integration/testsuite/Magento/Framework/Config/ConverterTest.php diff --git a/dev/tests/integration/testsuite/Magento/Framework/Config/ConverterTest.php b/dev/tests/integration/testsuite/Magento/Framework/Config/ConverterTest.php new file mode 100644 index 0000000000000..f68e36d39a3bf --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Framework/Config/ConverterTest.php @@ -0,0 +1,92 @@ +loadXML($sourceString); + $actual = $this->converter->convert($document); + + self::assertEquals( + $expected, + $actual + ); + } + + /** + * Data provider for testParseVarElement. + * + * @return array + */ + public function parseVarElementDataProvider() + { + $sourceString = <<<'XML' + + + + some string + 1 + 0 + true + false + + +XML; + $expectedResult = [ + 'vars' => [ + 'Magento_Test' => [ + 'str' => 'some string', + 'int-1' => '1', + 'int-0' => '0', + 'bool-true' => true, + 'bool-false' => false + ] + ] + ]; + + return [ + [ + $sourceString, + $expectedResult + ], + ]; + } + + /** + * @inheritdoc + */ + protected function setUp() + { + $this->objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); + $this->converter = $this->objectManager->get(Converter::class); + } +} diff --git a/lib/internal/Magento/Framework/Config/Converter.php b/lib/internal/Magento/Framework/Config/Converter.php index 0401471f27ea5..b15082b28b2f8 100644 --- a/lib/internal/Magento/Framework/Config/Converter.php +++ b/lib/internal/Magento/Framework/Config/Converter.php @@ -103,7 +103,9 @@ protected function parseVarElement(\DOMElement $node) } } if (!count($result)) { - $result = $node->nodeValue; + $result = (strtolower($node->nodeValue) !== 'true' && strtolower($node->nodeValue) !== 'false') + ? $node->nodeValue + : filter_var($node->nodeValue, FILTER_VALIDATE_BOOLEAN); } return $result; } From 4113f26f34e1c2e7035b0f294999aa8add6e6c52 Mon Sep 17 00:00:00 2001 From: gwharton Date: Sun, 6 May 2018 11:00:08 +0100 Subject: [PATCH 2/5] Fixed Travis Build Problems Fixed Travis Build Problems --- .../testsuite/Magento/Framework/Config/ConverterTest.php | 3 ++- lib/internal/Magento/Framework/Config/Converter.php | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/dev/tests/integration/testsuite/Magento/Framework/Config/ConverterTest.php b/dev/tests/integration/testsuite/Magento/Framework/Config/ConverterTest.php index f68e36d39a3bf..c94c081898607 100644 --- a/dev/tests/integration/testsuite/Magento/Framework/Config/ConverterTest.php +++ b/dev/tests/integration/testsuite/Magento/Framework/Config/ConverterTest.php @@ -51,7 +51,8 @@ public function parseVarElementDataProvider() { $sourceString = <<<'XML' - + some string 1 diff --git a/lib/internal/Magento/Framework/Config/Converter.php b/lib/internal/Magento/Framework/Config/Converter.php index b15082b28b2f8..3e66f641b8697 100644 --- a/lib/internal/Magento/Framework/Config/Converter.php +++ b/lib/internal/Magento/Framework/Config/Converter.php @@ -103,9 +103,9 @@ protected function parseVarElement(\DOMElement $node) } } if (!count($result)) { - $result = (strtolower($node->nodeValue) !== 'true' && strtolower($node->nodeValue) !== 'false') + $result = (strtolower($node->nodeValue) !== 'true' && strtolower($node->nodeValue) !== 'false') ? $node->nodeValue - : filter_var($node->nodeValue, FILTER_VALIDATE_BOOLEAN); + : filter_var($node->nodeValue, FILTER_VALIDATE_BOOLEAN); } return $result; } From c0b9e8f5ed1accb05cf2e1f1effa401ae1946d4c Mon Sep 17 00:00:00 2001 From: gwharton Date: Sun, 6 May 2018 11:35:11 +0100 Subject: [PATCH 3/5] Added strict types declaration --- .../testsuite/Magento/Framework/Config/ConverterTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev/tests/integration/testsuite/Magento/Framework/Config/ConverterTest.php b/dev/tests/integration/testsuite/Magento/Framework/Config/ConverterTest.php index c94c081898607..a68686b755c35 100644 --- a/dev/tests/integration/testsuite/Magento/Framework/Config/ConverterTest.php +++ b/dev/tests/integration/testsuite/Magento/Framework/Config/ConverterTest.php @@ -1,4 +1,4 @@ - Date: Sun, 6 May 2018 20:47:11 +0100 Subject: [PATCH 4/5] Attempt to fix codacy issue --- .../Magento/Framework/Config/ConverterTest.php | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/dev/tests/integration/testsuite/Magento/Framework/Config/ConverterTest.php b/dev/tests/integration/testsuite/Magento/Framework/Config/ConverterTest.php index a68686b755c35..08cfa2efb9b2f 100644 --- a/dev/tests/integration/testsuite/Magento/Framework/Config/ConverterTest.php +++ b/dev/tests/integration/testsuite/Magento/Framework/Config/ConverterTest.php @@ -6,18 +6,11 @@ namespace Magento\Framework\Config; -use Magento\Framework\ObjectManagerInterface; - /** * Tests Magento\Framework\Config\Convert */ class ConverterTest extends \PHPUnit\Framework\TestCase { - /** - * @var ObjectManagerInterface - */ - private $objectManager; - /** * @var Converter */ @@ -87,7 +80,6 @@ public function parseVarElementDataProvider() */ protected function setUp() { - $this->objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); - $this->converter = $this->objectManager->get(Converter::class); + $this->converter = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(\Magento\Framework\Config\Converter::class); } } From 2701a4f7223694f8c7d7a2adb4abb62417c2b5a5 Mon Sep 17 00:00:00 2001 From: gwharton Date: Sun, 6 May 2018 21:58:17 +0100 Subject: [PATCH 5/5] Fix Travis Long Line Check --- .../testsuite/Magento/Framework/Config/ConverterTest.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dev/tests/integration/testsuite/Magento/Framework/Config/ConverterTest.php b/dev/tests/integration/testsuite/Magento/Framework/Config/ConverterTest.php index 08cfa2efb9b2f..5b39a2afb9d6c 100644 --- a/dev/tests/integration/testsuite/Magento/Framework/Config/ConverterTest.php +++ b/dev/tests/integration/testsuite/Magento/Framework/Config/ConverterTest.php @@ -80,6 +80,7 @@ public function parseVarElementDataProvider() */ protected function setUp() { - $this->converter = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(\Magento\Framework\Config\Converter::class); + $this->converter = \Magento\TestFramework\Helper\Bootstrap::getObjectManager() + ->create(\Magento\Framework\Config\Converter::class); } }