From 98d8a3e8543745b95bc38f9fe579420b2baa99ad Mon Sep 17 00:00:00 2001
From: Bohdan Korablov <bkorablov@magento.com>
Date: Thu, 22 Dec 2016 15:51:44 +0200
Subject: [PATCH] MAGETWO-62491: [PR] Delivery of stories (sprint 3)

---
 .../Config/Model/Placeholder/Environment.php  |  2 +-
 .../Model/Placeholder/EnvironmentTest.php     | 29 +++++++++++++++++--
 2 files changed, 28 insertions(+), 3 deletions(-)

diff --git a/app/code/Magento/Config/Model/Placeholder/Environment.php b/app/code/Magento/Config/Model/Placeholder/Environment.php
index b5c1c6be89c..96ffadc96c6 100644
--- a/app/code/Magento/Config/Model/Placeholder/Environment.php
+++ b/app/code/Magento/Config/Model/Placeholder/Environment.php
@@ -59,7 +59,7 @@ class Environment implements PlaceholderInterface
      */
     public function restore($template)
     {
-        $template = str_replace(static::PREFIX, '', $template);
+        $template = preg_replace('/^' . static::PREFIX . '/', '', $template);
         $template = str_replace('__', '/', $template);
         $template = strtolower($template);
 
diff --git a/app/code/Magento/Config/Test/Unit/Model/Placeholder/EnvironmentTest.php b/app/code/Magento/Config/Test/Unit/Model/Placeholder/EnvironmentTest.php
index 6d1113a7750..64b4e6e37fb 100644
--- a/app/code/Magento/Config/Test/Unit/Model/Placeholder/EnvironmentTest.php
+++ b/app/code/Magento/Config/Test/Unit/Model/Placeholder/EnvironmentTest.php
@@ -47,8 +47,8 @@ class EnvironmentTest extends \PHPUnit_Framework_TestCase
     public function testGenerate($path, $scope, $scopeId, $expected)
     {
         $this->assertSame(
-            $this->model->generate($path, $scope, $scopeId),
-            $expected
+            $expected,
+            $this->model->generate($path, $scope, $scopeId)
         );
     }
 
@@ -103,4 +103,29 @@ class EnvironmentTest extends \PHPUnit_Framework_TestCase
             [Environment::PREFIX . 'A@#$', false]
         ];
     }
+
+    /**
+     * @param string $template
+     * @param string $expected
+     * @dataProvider restoreDataProvider
+     */
+    public function testRestore($template, $expected)
+    {
+        $this->assertSame(
+            $expected,
+            $this->model->restore($template)
+        );
+    }
+
+    /**
+     * @return array
+     */
+    public function restoreDataProvider()
+    {
+        return [
+            [Environment::PREFIX . 'TEST__CONFIG', 'test/config'],
+            [Environment::PREFIX . 'TEST__CONFIG__VALUE', 'test/config/value'],
+            [Environment::PREFIX . 'TEST__CONFIG_VALUE', 'test/config_value'],
+        ];
+    }
 }
-- 
GitLab