1
0
Fork 0

Add a new test to confirm that show --direct <name> works with direct dependents/dev-dependents

pull/11902/head
Jordi Boggiano 2024-03-21 16:59:41 +01:00
parent 2027d4975a
commit 54870a78c4
No known key found for this signature in database
GPG Key ID: 7BBD42C429EC80BC
1 changed files with 35 additions and 1 deletions

View File

@ -299,23 +299,57 @@ Transitive dependencies not required in composer.json:
vendor/package 1.1.0 <highlight>! 1.2.0</highlight>", trim($appTester->getDisplay(true)));
}
public function testShowDirectWithNameOnlyShowsDirectDependents(): void
public function testShowDirectWithNameDoesNotShowTransientDependencies(): void
{
self::expectException(InvalidArgumentException::class);
self::expectExceptionMessage('Package "vendor/package" is installed but not a direct dependent of the root package.');
$this->initTempComposer([
'repositories' => [],
'require' => [
'direct/dependent' => '*',
],
]);
$this->createInstalledJson([
$direct = self::getPackage('direct/dependent', '1.0.0'),
self::getPackage('vendor/package', '1.0.0'),
]);
$this->configureLinks($direct, ['require' => ['vendor/package' => '*']]);
$appTester = $this->getApplicationTester();
$appTester->run(['command' => 'show', '--direct' => true, 'package' => 'vendor/package']);
}
public function testShowDirectWithNameOnlyShowsDirectDependents(): void
{
$this->initTempComposer([
'repositories' => [],
'require' => [
'direct/dependent' => '*',
],
'require-dev' => [
'direct/dependent2' => '*',
],
]);
$this->createInstalledJson([
self::getPackage('direct/dependent', '1.0.0'),
self::getPackage('direct/dependent2', '1.0.0'),
]);
$appTester = $this->getApplicationTester();
$appTester->run(['command' => 'show', '--direct' => true, 'package' => 'direct/dependent']);
$appTester->assertCommandIsSuccessful();
self::assertStringContainsString('name : direct/dependent' . "\n", $appTester->getDisplay(true));
$appTester = $this->getApplicationTester();
$appTester->run(['command' => 'show', '--direct' => true, 'package' => 'direct/dependent2']);
$appTester->assertCommandIsSuccessful();
self::assertStringContainsString('name : direct/dependent2' . "\n", $appTester->getDisplay(true));
}
public function testShowPlatformOnlyShowsPlatformPackages(): void
{
$this->initTempComposer([