From b4181a0795e56c9954f6c03454af5e765727c597 Mon Sep 17 00:00:00 2001 From: Nick Shatilo Date: Thu, 4 Oct 2018 12:29:02 +0300 Subject: [PATCH 1/2] fix(Webapi Xml Renderer - 18361): removed the not needed ampersand replacement, covered by tests --- .../Magento/Framework/Webapi/Rest/Response/Renderer/Xml.php | 4 ++-- .../Webapi/Test/Unit/Rest/Response/Renderer/XmlTest.php | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/internal/Magento/Framework/Webapi/Rest/Response/Renderer/Xml.php b/lib/internal/Magento/Framework/Webapi/Rest/Response/Renderer/Xml.php index b4cfc61611a93..62b0d30b294b6 100644 --- a/lib/internal/Magento/Framework/Webapi/Rest/Response/Renderer/Xml.php +++ b/lib/internal/Magento/Framework/Webapi/Rest/Response/Renderer/Xml.php @@ -111,8 +111,7 @@ protected function _formatValue($value) /** Without the following transformation boolean values are rendered incorrectly */ $value = $value ? 'true' : 'false'; } - $replacementMap = ['&' => '&']; - return str_replace(array_keys($replacementMap), array_values($replacementMap), $value); + return (string) $value; } /** @@ -166,3 +165,4 @@ protected function _prepareKey($key) return $key; } } + diff --git a/lib/internal/Magento/Framework/Webapi/Test/Unit/Rest/Response/Renderer/XmlTest.php b/lib/internal/Magento/Framework/Webapi/Test/Unit/Rest/Response/Renderer/XmlTest.php index 396fbcdb1978b..71fb41491cc74 100644 --- a/lib/internal/Magento/Framework/Webapi/Test/Unit/Rest/Response/Renderer/XmlTest.php +++ b/lib/internal/Magento/Framework/Webapi/Test/Unit/Rest/Response/Renderer/XmlTest.php @@ -76,6 +76,11 @@ public function providerXmlRender() 'value', 'Invalid XML render with numeric symbol in data index.' ], + [ + ['key' => 'test & foo'], + 'test & foo', + 'Invalid XML render with ampersand symbol in data index.' + ], [ ['.key' => 'value'], 'value', From 491e91853826c75ba852732643b5679e5bff17ce Mon Sep 17 00:00:00 2001 From: Pavel Bystritsky Date: Wed, 5 Dec 2018 14:56:13 +0200 Subject: [PATCH 2/2] ENGCOM-3535: Static tests fix. --- .../Magento/Framework/Webapi/Rest/Response/Renderer/Xml.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/internal/Magento/Framework/Webapi/Rest/Response/Renderer/Xml.php b/lib/internal/Magento/Framework/Webapi/Rest/Response/Renderer/Xml.php index 62b0d30b294b6..f25cd219e3eae 100644 --- a/lib/internal/Magento/Framework/Webapi/Rest/Response/Renderer/Xml.php +++ b/lib/internal/Magento/Framework/Webapi/Rest/Response/Renderer/Xml.php @@ -7,6 +7,9 @@ */ namespace Magento\Framework\Webapi\Rest\Response\Renderer; +/** + * Renders response data in Xml format. + */ class Xml implements \Magento\Framework\Webapi\Rest\Response\RendererInterface { /** @@ -165,4 +168,3 @@ protected function _prepareKey($key) return $key; } } -