浏览代码

Simplify argv handling

johnstevenson 8 年之前
父节点
当前提交
e381abeec0

+ 1 - 1
bin/composer

@@ -12,7 +12,7 @@ use Composer\Console\Application;
 
 error_reporting(-1);
 
-$xdebug = new XdebugHandler($argv);
+$xdebug = new XdebugHandler();
 $xdebug->check();
 unset($xdebug);
 

+ 3 - 6
src/Composer/XdebugHandler.php

@@ -19,19 +19,16 @@ class XdebugHandler
 {
     const ENV_ALLOW = 'COMPOSER_ALLOW_XDEBUG';
 
-    private $argv;
     private $loaded;
     private $tmpIni;
     private $scanDir;
 
     /**
-     * @param array $argv The global argv passed to script
+     * Constructor
      */
-    public function __construct(array $argv)
+    public function __construct()
     {
-        $this->argv = $argv;
         $this->loaded = extension_loaded('xdebug');
-
         $tmp = sys_get_temp_dir();
         $this->tmpIni = $tmp.DIRECTORY_SEPARATOR.'composer-php.ini';
         $this->scanDir = $tmp.DIRECTORY_SEPARATOR.'composer-php-empty';
@@ -207,7 +204,7 @@ class XdebugHandler
         }
 
         $phpArgs = array(PHP_BINARY, '-c', $this->tmpIni);
-        $params = array_merge($phpArgs, $this->getScriptArgs($this->argv));
+        $params = array_merge($phpArgs, $this->getScriptArgs($_SERVER['argv']));
 
         return implode(' ', array_map(array($this, 'escape'), $params));
     }

+ 2 - 2
tests/Composer/Test/Mock/XdebugHandlerMock.php

@@ -18,9 +18,9 @@ class XdebugHandlerMock extends XdebugHandler
     public $command;
     public $restarted;
 
-    public function __construct(array $argv, $loaded)
+    public function __construct($loaded)
     {
-        parent::__construct($argv);
+        parent::__construct();
 
         $class = new \ReflectionClass(get_parent_class($this));
         $prop = $class->getProperty('loaded');

+ 3 - 10
tests/Composer/Test/XdebugHandlerTest.php

@@ -19,18 +19,11 @@ use Composer\Test\Mock\XdebugHandlerMock as XdebugHandler;
  */
 class XdebugHandlerTest extends \PHPUnit_Framework_TestCase
 {
-    protected $argv;
-
-    public function setup()
-    {
-        $this->argv = $GLOBALS['argv'];
-    }
-
     public function testRestartWhenLoaded()
     {
         $loaded = true;
 
-        $xdebug = new XdebugHandler($this->argv, $loaded);
+        $xdebug = new XdebugHandler($loaded);
         $xdebug->check();
         $this->assertTrue($xdebug->restarted || !defined('PHP_BINARY'));
     }
@@ -39,7 +32,7 @@ class XdebugHandlerTest extends \PHPUnit_Framework_TestCase
     {
         $loaded = false;
 
-        $xdebug = new XdebugHandler($this->argv, $loaded);
+        $xdebug = new XdebugHandler($loaded);
         $xdebug->check();
         $this->assertFalse($xdebug->restarted);
     }
@@ -49,7 +42,7 @@ class XdebugHandlerTest extends \PHPUnit_Framework_TestCase
         $loaded = true;
         putenv(XdebugHandler::ENV_ALLOW.'=1');
 
-        $xdebug = new XdebugHandler($this->argv, $loaded);
+        $xdebug = new XdebugHandler($loaded);
         $xdebug->check();
         $this->assertFalse($xdebug->restarted);
     }