From ecd9dc42e56093a09193a13fac669cd0c3b1825c Mon Sep 17 00:00:00 2001 From: Nick Shatilo Date: Wed, 3 Oct 2018 17:55:42 +0300 Subject: [PATCH 1/3] fix(Webapi Xml Renderer - 18361): removed the not needed ampersand replacement --- .../Magento/Framework/Webapi/Rest/Response/Renderer/Xml.php | 3 +-- 1 file changed, 1 insertion(+), 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..82ced99d690af 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 $value; } /** From 0f75306061dcf6dc2942d6e165e8ba17f2ce3f6c Mon Sep 17 00:00:00 2001 From: Nick Shatilo Date: Thu, 4 Oct 2018 11:17:39 +0300 Subject: [PATCH 2/3] fix(Webapi Xml Renderer - 18361): added unit test for the issue --- .../Magento/Framework/Webapi/Rest/Response/Renderer/Xml.php | 2 +- .../Webapi/Test/Unit/Rest/Response/Renderer/XmlTest.php | 5 +++++ 2 files changed, 6 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 82ced99d690af..7a4064cf70355 100644 --- a/lib/internal/Magento/Framework/Webapi/Rest/Response/Renderer/Xml.php +++ b/lib/internal/Magento/Framework/Webapi/Rest/Response/Renderer/Xml.php @@ -111,7 +111,7 @@ protected function _formatValue($value) /** Without the following transformation boolean values are rendered incorrectly */ $value = $value ? 'true' : 'false'; } - return $value; + return (string) $value; } /** 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 ed497dc7fe6d704795ffbe01e78ae3015f782d7a Mon Sep 17 00:00:00 2001 From: Sergii Ivashchenko Date: Tue, 22 Jan 2019 14:33:29 +0000 Subject: [PATCH 3/3] magento/magento2#18362: Fixed static tests --- .../Magento/Framework/Webapi/Rest/Response/Renderer/Xml.php | 3 +++ 1 file changed, 3 insertions(+) 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 7a4064cf70355..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 { /**