1
0
Fork 0
mirror of https://github.com/composer/composer synced 2025-05-09 00:22:53 +00:00

PoolBuilderTest: add new fixtures for partial updates with locked packages

This commit is contained in:
Nils Adermann 2020-04-30 00:04:55 +02:00 committed by Jordi Boggiano
parent 5dd4b456b9
commit 4f13875f3f
No known key found for this signature in database
GPG key ID: 7BBD42C429EC80BC
7 changed files with 152 additions and 8 deletions

View file

@ -73,14 +73,30 @@ class PoolBuilderTest extends TestCase
$repositorySet = new RepositorySet($minimumStability, $stabilityFlags, $rootAliases);
$repositorySet->addRepository($repo = new ArrayRepository());
$repositorySet->addRepository($lockedRepo = new LockArrayRepository());
foreach ($packages as $package) {
$repo->addPackage($loadPackage($package));
}
$request = new Request();
foreach ($requestData as $package => $constraint) {
if (isset($requestData['locked'])) {
foreach ($requestData['locked'] as $package) {
$lockedRepo->addPackage($loadPackage($package));
}
}
$request = new Request($lockedRepo);
foreach ($requestData['require'] as $package => $constraint) {
$request->requireName($package, $parser->parseConstraints($constraint));
}
if (isset($requestData['allowList'])) {
$transitiveDeps = Request::UPDATE_ONLY_LISTED;
if (isset($requestData['allowTransitiveDepsNoRootRequire']) && $requestData['allowTransitiveDepsNoRootRequire']) {
$transitiveDeps = Request::UPDATE_LISTED_WITH_TRANSITIVE_DEPS_NO_ROOT_REQUIRE;
}
if (isset($requestData['allowTransitiveDeps']) && $requestData['allowTransitiveDeps']) {
$transitiveDeps = Request::UPDATE_LISTED_WITH_TRANSITIVE_DEPS;
}
$request->setUpdateAllowList(array_flip($requestData['allowList']), $transitiveDeps);
}
foreach ($fixed as $fixedPackage) {
$request->fixPackage($loadPackage($fixedPackage));