mirror of
https://github.com/composer/composer
synced 2025-05-10 00:53:06 +00:00
Fix UX when a non-required plugin is still present in vendor dir (#12000)
Composer now skips it and does not prompt if it is not allowed to run, fixes #11944
This commit is contained in:
parent
37d722e73c
commit
c1be804a0c
3 changed files with 40 additions and 9 deletions
|
@ -24,13 +24,13 @@ class RepositoryUtilsTest extends TestCase
|
|||
* @param PackageInterface[] $pkgs
|
||||
* @param string[] $expected
|
||||
*/
|
||||
public function testFilterRequiredPackages(array $pkgs, PackageInterface $requirer, array $expected): void
|
||||
public function testFilterRequiredPackages(array $pkgs, PackageInterface $requirer, array $expected, bool $includeRequireDev = false): void
|
||||
{
|
||||
$expected = array_map(static function (string $name) use ($pkgs): PackageInterface {
|
||||
return $pkgs[$name];
|
||||
}, $expected);
|
||||
|
||||
self::assertSame($expected, RepositoryUtils::filterRequiredPackages($pkgs, $requirer));
|
||||
self::assertSame($expected, RepositoryUtils::filterRequiredPackages($pkgs, $requirer, $includeRequireDev));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -72,6 +72,10 @@ class RepositoryUtilsTest extends TestCase
|
|||
self::configureLinks($requirer, ['require-dev' => ['required/a' => '*']]);
|
||||
yield 'require-dev has no effect' => [$pkgs, $requirer, []];
|
||||
|
||||
$requirer = self::getPackage('requirer/pkg');
|
||||
self::configureLinks($requirer, ['require-dev' => ['required/a' => '*']]);
|
||||
yield 'require-dev works if called with it enabled' => [$pkgs, $requirer, ['a'], true];
|
||||
|
||||
$requirer = self::getPackage('requirer/pkg');
|
||||
self::configureLinks($requirer, ['require' => ['required/a' => '*']]);
|
||||
yield 'simple require' => [$pkgs, $requirer, ['a']];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue