Browse Source

Update depends command

Jordi Boggiano 13 years ago
parent
commit
d1f66073ca

+ 8 - 5
src/Composer/Command/DependsCommand.php

@@ -25,7 +25,10 @@ use Symfony\Component\Console\Output\OutputInterface;
  */
 class DependsCommand extends Command
 {
-    protected $linkTypes = array('require', 'recommend', 'suggest');
+    protected $linkTypes = array(
+        'require' => 'requires',
+        'require-dev' => 'devRequires',
+    );
 
     protected function configure()
     {
@@ -34,7 +37,7 @@ class DependsCommand extends Command
             ->setDescription('Shows which packages depend on the given package')
             ->setDefinition(array(
                 new InputArgument('package', InputArgument::REQUIRED, 'Package to inspect'),
-                new InputOption('link-type', '', InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY, 'Link types to show', $this->linkTypes)
+                new InputOption('link-type', '', InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY, 'Link types to show (require, require-dev)', array_keys($this->linkTypes))
             ))
             ->setHelp(<<<EOT
 Displays detailed information about where a package is referenced.
@@ -81,10 +84,10 @@ EOT
             foreach ($repository->getPackages() as $package) {
                 foreach ($types as $type) {
                     $type = rtrim($type, 's');
-                    if (!in_array($type, $this->linkTypes)) {
-                        throw new \InvalidArgumentException('Unexpected link type: '.$type.', valid types: '.implode(', ', $this->linkTypes));
+                    if (!isset($this->linkTypes[$type])) {
+                        throw new \InvalidArgumentException('Unexpected link type: '.$type.', valid types: '.implode(', ', array_keys($this->linkTypes)));
                     }
-                    foreach ($package->{'get'.$type.'s'}() as $link) {
+                    foreach ($package->{'get'.$this->linkTypes[$type]}() as $link) {
                         if ($link->getTarget() === $needle) {
                             if ($verbose) {
                                 $references[] = array($type, $package, $link);

+ 0 - 1
tests/Composer/Test/Installer/InstallationManagerTest.php

@@ -72,7 +72,6 @@ class InstallationManagerTest extends \PHPUnit_Framework_TestCase
             $this->createPackageMock(), $this->createPackageMock()
         );
 
-
         $manager
             ->expects($this->once())
             ->method('install')