From b583fe6730ba2f55f4eb9fed8edaaed6713cd6a1 Mon Sep 17 00:00:00 2001
From: Joan He <johe@magento.com>
Date: Mon, 17 Oct 2016 15:19:21 -0500
Subject: [PATCH] MAGETWO-59444: Create serializer interface and json class in
 framework

---
 app/etc/di.xml                                  |  2 +-
 .../Serialize/{ => Serializer}/Json.php         |  4 +++-
 .../Test/Unit/{ => Serializer}/JsonTest.php     | 17 +++++++----------
 3 files changed, 11 insertions(+), 12 deletions(-)
 rename lib/internal/Magento/Framework/Serialize/{ => Serializer}/Json.php (79%)
 rename lib/internal/Magento/Framework/Serialize/Test/Unit/{ => Serializer}/JsonTest.php (62%)

diff --git a/app/etc/di.xml b/app/etc/di.xml
index 2828a238c26..2bd37564a59 100755
--- a/app/etc/di.xml
+++ b/app/etc/di.xml
@@ -154,7 +154,7 @@
     <preference for="Magento\Framework\EntityManager\MapperInterface" type="Magento\Framework\EntityManager\CompositeMapper"/>
     <preference for="Magento\Framework\Console\CommandListInterface" type="Magento\Framework\Console\CommandList"/>
     <preference for="Magento\Framework\DataObject\IdentityGeneratorInterface" type="Magento\Framework\DataObject\IdentityService" />
-    <preference for="Magento\Framework\Serialize\SerializerInterface" type="Magento\Framework\Serialize\Json" />
+    <preference for="Magento\Framework\Serialize\SerializerInterface" type="Magento\Framework\Serialize\Serializer\Json" />
     <type name="Magento\Framework\Model\ResourceModel\Db\TransactionManager" shared="false" />
     <type name="Magento\Framework\Logger\Handler\Base">
         <arguments>
diff --git a/lib/internal/Magento/Framework/Serialize/Json.php b/lib/internal/Magento/Framework/Serialize/Serializer/Json.php
similarity index 79%
rename from lib/internal/Magento/Framework/Serialize/Json.php
rename to lib/internal/Magento/Framework/Serialize/Serializer/Json.php
index 7b5f8a2006b..009fee5e363 100644
--- a/lib/internal/Magento/Framework/Serialize/Json.php
+++ b/lib/internal/Magento/Framework/Serialize/Serializer/Json.php
@@ -3,7 +3,9 @@
  * Copyright © 2016 Magento. All rights reserved.
  * See COPYING.txt for license details.
  */
-namespace Magento\Framework\Serialize;
+namespace Magento\Framework\Serialize\Serializer;
+
+use Magento\Framework\Serialize\SerializerInterface;
 
 class Json implements SerializerInterface
 {
diff --git a/lib/internal/Magento/Framework/Serialize/Test/Unit/JsonTest.php b/lib/internal/Magento/Framework/Serialize/Test/Unit/Serializer/JsonTest.php
similarity index 62%
rename from lib/internal/Magento/Framework/Serialize/Test/Unit/JsonTest.php
rename to lib/internal/Magento/Framework/Serialize/Test/Unit/Serializer/JsonTest.php
index add2f60d44c..1f36b7b729e 100644
--- a/lib/internal/Magento/Framework/Serialize/Test/Unit/JsonTest.php
+++ b/lib/internal/Magento/Framework/Serialize/Test/Unit/Serializer/JsonTest.php
@@ -3,15 +3,14 @@
  * Copyright © 2016 Magento. All rights reserved.
  * See COPYING.txt for license details.
  */
-namespace Magento\Framework\Serialize\Test\Unit;
+namespace Magento\Framework\Serialize\Test\Unit\Serializer;
 
-use Magento\Framework\Serialize\SerializerInterface;
-use Magento\Framework\Serialize\Json;
+use Magento\Framework\Serialize\Serializer\Json;
 
 class JsonTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Framework\Serialize\Json
+     * @var \Magento\Framework\Serialize\Serializer\Json
      */
     private $json;
 
@@ -22,11 +21,11 @@ class JsonTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * @param null|bool|array|\stdClass $value
+     * @param null|bool|array $value
      * @param int $objectDecodeType
-     * @dataProvider encodeDecodeDataProvider
+     * @dataProvider serializeUnserializeDataProvider
      */
-    public function testEncodeDecode($value)
+    public function testSerializeUnserialize($value)
     {
         $this->assertEquals(
             $this->json->unserialize($this->json->serialize($value)),
@@ -34,10 +33,8 @@ class JsonTest extends \PHPUnit_Framework_TestCase
         );
     }
 
-    public function encodeDecodeDataProvider()
+    public function serializeUnserializeDataProvider()
     {
-        $object = new \stdClass();
-        $object->a = 'b';
         return [
             [''],
             [null],
-- 
GitLab