From a3b2628748653a5a1c2140e187fdffe65e4ca99d Mon Sep 17 00:00:00 2001 From: Niels Keurentjes Date: Fri, 4 Mar 2016 08:20:35 +0100 Subject: [PATCH 1/2] Show -t incorrectly expanded self.version constraints. Fixes #4999 --- src/Composer/Command/ShowCommand.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Composer/Command/ShowCommand.php b/src/Composer/Command/ShowCommand.php index b5d80cf05..aa59901ba 100644 --- a/src/Composer/Command/ShowCommand.php +++ b/src/Composer/Command/ShowCommand.php @@ -297,7 +297,7 @@ EOT { $name = strtolower($name); $constraint = null; - if ($version) { + if (is_string($version)) { $constraint = $this->versionParser->parseConstraints($version); } From 1017ab817ffc7efde0d0248b59cb1a5abaaf9840 Mon Sep 17 00:00:00 2001 From: Niels Keurentjes Date: Fri, 4 Mar 2016 09:26:11 +0100 Subject: [PATCH 2/2] Corrected parameter handling. --- src/Composer/Command/ShowCommand.php | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/Composer/Command/ShowCommand.php b/src/Composer/Command/ShowCommand.php index aa59901ba..a76fec042 100644 --- a/src/Composer/Command/ShowCommand.php +++ b/src/Composer/Command/ShowCommand.php @@ -19,6 +19,7 @@ use Composer\Package\Version\VersionParser; use Composer\Plugin\CommandEvent; use Composer\Plugin\PluginEvents; use Composer\Package\PackageInterface; +use Composer\Semver\Constraint\ConstraintInterface; use Composer\Util\Platform; use Symfony\Component\Console\Formatter\OutputFormatterStyle; use Symfony\Component\Console\Input\InputInterface; @@ -40,6 +41,7 @@ use Composer\Spdx\SpdxLicenses; */ class ShowCommand extends BaseCommand { + /** @var VersionParser */ protected $versionParser; protected $colors; @@ -286,20 +288,17 @@ EOT /** * finds a package by name and version if provided * - * @param RepositoryInterface $installedRepo - * @param RepositoryInterface $repos - * @param string $name - * @param string $version + * @param RepositoryInterface $installedRepo + * @param RepositoryInterface $repos + * @param string $name + * @param ConstraintInterface|string $version * @throws \InvalidArgumentException - * @return array array(CompletePackageInterface, array of versions) + * @return array array(CompletePackageInterface, array of versions) */ protected function getPackage(RepositoryInterface $installedRepo, RepositoryInterface $repos, $name, $version = null) { $name = strtolower($name); - $constraint = null; - if (is_string($version)) { - $constraint = $this->versionParser->parseConstraints($version); - } + $constraint = is_string($version) ? $this->versionParser->parseConstraints($version) : $version; $policy = new DefaultPolicy(); $pool = new Pool('dev');