1
0
Fork 0
mirror of https://github.com/composer/composer synced 2025-05-08 16:17:37 +00:00

[Tests] Use static data providers (#11197)

This commit is contained in:
Ion Bazan 2022-11-24 21:39:08 +08:00 committed by GitHub
parent 0cf57255d4
commit 8ff237afb6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
86 changed files with 715 additions and 723 deletions

View file

@ -36,22 +36,22 @@ class RepositoryUtilsTest extends TestCase
/**
* @return array<PackageInterface>
*/
private function getPackages(): array
private static function getPackages(): array
{
$packageA = $this->getPackage('required/a');
$packageB = $this->getPackage('required/b');
$this->configureLinks($packageB, ['require' => ['required/c' => '*']]);
$packageC = $this->getPackage('required/c');
$packageCAlias = $this->getAliasPackage($packageC, '2.0.0');
$packageA = self::getPackage('required/a');
$packageB = self::getPackage('required/b');
self::configureLinks($packageB, ['require' => ['required/c' => '*']]);
$packageC = self::getPackage('required/c');
$packageCAlias = self::getAliasPackage($packageC, '2.0.0');
$packageCircular = $this->getPackage('required/circular');
$this->configureLinks($packageCircular, ['require' => ['required/circular-b' => '*']]);
$packageCircularB = $this->getPackage('required/circular-b');
$this->configureLinks($packageCircularB, ['require' => ['required/circular' => '*']]);
$packageCircular = self::getPackage('required/circular');
self::configureLinks($packageCircular, ['require' => ['required/circular-b' => '*']]);
$packageCircularB = self::getPackage('required/circular-b');
self::configureLinks($packageCircularB, ['require' => ['required/circular' => '*']]);
return [
$this->getPackage('dummy/pkg'),
$this->getPackage('dummy/pkg2', '2.0.0'),
self::getPackage('dummy/pkg'),
self::getPackage('dummy/pkg2', '2.0.0'),
'a' => $packageA,
'b' => $packageB,
'c' => $packageC,
@ -61,31 +61,31 @@ class RepositoryUtilsTest extends TestCase
];
}
public function provideFilterRequireTests(): Generator
public static function provideFilterRequireTests(): Generator
{
$pkgs = $this->getPackages();
$pkgs = self::getPackages();
$requirer = $this->getPackage('requirer/pkg');
$requirer = self::getPackage('requirer/pkg');
yield 'no require' => [$pkgs, $requirer, []];
$requirer = $this->getPackage('requirer/pkg');
$this->configureLinks($requirer, ['require-dev' => ['required/a' => '*']]);
$requirer = self::getPackage('requirer/pkg');
self::configureLinks($requirer, ['require-dev' => ['required/a' => '*']]);
yield 'require-dev has no effect' => [$pkgs, $requirer, []];
$requirer = $this->getPackage('requirer/pkg');
$this->configureLinks($requirer, ['require' => ['required/a' => '*']]);
$requirer = self::getPackage('requirer/pkg');
self::configureLinks($requirer, ['require' => ['required/a' => '*']]);
yield 'simple require' => [$pkgs, $requirer, ['a']];
$requirer = $this->getPackage('requirer/pkg');
$this->configureLinks($requirer, ['require' => ['required/a' => 'dev-lala']]);
$requirer = self::getPackage('requirer/pkg');
self::configureLinks($requirer, ['require' => ['required/a' => 'dev-lala']]);
yield 'require constraint is irrelevant' => [$pkgs, $requirer, ['a']];
$requirer = $this->getPackage('requirer/pkg');
$this->configureLinks($requirer, ['require' => ['required/b' => '*']]);
$requirer = self::getPackage('requirer/pkg');
self::configureLinks($requirer, ['require' => ['required/b' => '*']]);
yield 'require transitive deps and aliases are included' => [$pkgs, $requirer, ['b', 'c', 'c-alias']];
$requirer = $this->getPackage('requirer/pkg');
$this->configureLinks($requirer, ['require' => ['required/circular' => '*']]);
$requirer = self::getPackage('requirer/pkg');
self::configureLinks($requirer, ['require' => ['required/circular' => '*']]);
yield 'circular deps are no problem' => [$pkgs, $requirer, ['circular', 'circular-b']];
}
}