فهرست منبع

Backup/restore Composer environment variables

The tests could fail if an environment variable replaces an expected
value.
Chris Smith 10 سال پیش
والد
کامیت
725a4fd638
1فایلهای تغییر یافته به همراه33 افزوده شده و 0 حذف شده
  1. 33 0
      tests/Composer/Test/ConfigTest.php

+ 33 - 0
tests/Composer/Test/ConfigTest.php

@@ -16,6 +16,39 @@ use Composer\Config;
 
 class ConfigTest extends \PHPUnit_Framework_TestCase
 {
+    private static $envVars = array(
+        'VENDOR_DIR',
+        'BIN_DIR',
+        'PROCESS_TIMEOUT',
+        'CACHE_DIR',
+        'CACHE_FILES_DIR',
+        'CACHE_REPO_DIR',
+        'CACHE_VCS_DIR',
+        'DISCARD_CHANGES',
+    );
+
+    private $envVarValues = array();
+
+    public function setUp()
+    {
+        foreach (self::$envVars as $var) {
+            $var = 'COMPOSER_' . $var;
+
+            if ($value = getenv($var)) {
+                $this->envVarValues[$var] = $value;
+
+                putenv($var . '=');
+            }
+        }
+    }
+
+    public function tearDown()
+    {
+        foreach ($this->envVarValues as $var => $value) {
+            putenv(sprintf('%s=%s', $var, $value));
+        }
+    }
+
     /**
      * @dataProvider dataAddPackagistRepository
      */