From 47e7bb8aa9e5f799dc6ee75cc7bf5874274bb198 Mon Sep 17 00:00:00 2001
From: Igor Melnikov <imelnikov@magento.com>
Date: Wed, 2 Nov 2016 14:27:29 -0500
Subject: [PATCH] MAGETWO-60353: Replace json_decode in
 \Magento\Framework\ObjectManager\DefinitionFactory::_unpack with
 SerializerInterface

Fixing tests
---
 .../Framework/App/ObjectManagerFactory.php    | 28 +++++++++++++++++++
 .../ObjectManager/DefinitionFactory.php       |  5 ----
 .../Test/Unit/DefinitionFactoryTest.php       |  1 -
 3 files changed, 28 insertions(+), 6 deletions(-)

diff --git a/lib/internal/Magento/Framework/App/ObjectManagerFactory.php b/lib/internal/Magento/Framework/App/ObjectManagerFactory.php
index a67304d7986..d5f4e782fc9 100644
--- a/lib/internal/Magento/Framework/App/ObjectManagerFactory.php
+++ b/lib/internal/Magento/Framework/App/ObjectManagerFactory.php
@@ -286,4 +286,32 @@ class ObjectManagerFactory
         }
         return $configData;
     }
+
+    /**
+     * Crete plugin list object
+     *
+     * @param \Magento\Framework\ObjectManagerInterface $objectManager
+     * @param \Magento\Framework\ObjectManager\RelationsInterface $relations
+     * @param \Magento\Framework\ObjectManager\DefinitionFactory $definitionFactory
+     * @param \Magento\Framework\ObjectManager\Config\Config $diConfig
+     * @param \Magento\Framework\ObjectManager\DefinitionInterface $definitions
+     * @return \Magento\Framework\Interception\PluginList\PluginList
+     */
+    protected function _createPluginList(
+        \Magento\Framework\ObjectManagerInterface $objectManager,
+        \Magento\Framework\ObjectManager\RelationsInterface $relations,
+        \Magento\Framework\ObjectManager\DefinitionFactory $definitionFactory,
+        \Magento\Framework\ObjectManager\Config\Config $diConfig,
+        \Magento\Framework\ObjectManager\DefinitionInterface $definitions
+    ) {
+        return $objectManager->create(
+            \Magento\Framework\Interception\PluginList\PluginList::class,
+            [
+                'relations' => $relations,
+                'definitions' => $definitionFactory->createPluginDefinition(),
+                'omConfig' => $diConfig,
+                'classDefinitions' => null
+            ]
+        );
+    }
 }
diff --git a/lib/internal/Magento/Framework/ObjectManager/DefinitionFactory.php b/lib/internal/Magento/Framework/ObjectManager/DefinitionFactory.php
index 79d398e3da0..29431b570bc 100644
--- a/lib/internal/Magento/Framework/ObjectManager/DefinitionFactory.php
+++ b/lib/internal/Magento/Framework/ObjectManager/DefinitionFactory.php
@@ -36,11 +36,6 @@ class DefinitionFactory
      */
     protected $codeGenerator;
 
-    /**
-     * @var SerializerInterface
-     */
-    private $serializer;
-
     /**
      * @param DriverInterface $filesystemDriver
      * @param string $generationDir
diff --git a/lib/internal/Magento/Framework/ObjectManager/Test/Unit/DefinitionFactoryTest.php b/lib/internal/Magento/Framework/ObjectManager/Test/Unit/DefinitionFactoryTest.php
index 99db458c119..8c587cec435 100644
--- a/lib/internal/Magento/Framework/ObjectManager/Test/Unit/DefinitionFactoryTest.php
+++ b/lib/internal/Magento/Framework/ObjectManager/Test/Unit/DefinitionFactoryTest.php
@@ -26,7 +26,6 @@ class DefinitionFactoryTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->filesystemDriverMock = $this->getMock(File::class);
-        $this->serializerMock = $this->getMock(SerializerInterface::class);
         $this->definitionFactory = new DefinitionFactory(
             $this->filesystemDriverMock,
             'generation dir'
-- 
GitLab