1
0
Fork 0

Update the composer repository whatprovides test to a loadrecursively test

pull/3994/head
Nils Adermann 2015-05-05 19:44:07 +02:00
parent b99c03ea04
commit da02c53540
2 changed files with 15 additions and 21 deletions

View File

@ -174,12 +174,12 @@ class Solver
foreach ($this->jobs as $job) {
switch ($job['cmd']) {
case 'install':
$packageNames[] = $job['packageName'];
$packageNames[$job['packageName']] = true;
break;
}
}
$this->pool->loadRecursively($packageNames, true);
$this->pool->loadRecursively(array_keys($packageNames), true);
$this->rules = $this->ruleSetGenerator->getRulesFor($this->jobs, $this->installedMap, $ignorePlatformReqs);
$this->checkForRootRequireProblems($ignorePlatformReqs);

View File

@ -96,8 +96,8 @@ class ComposerRepositoryTest extends TestCase
);
}
public function testWhatProvides()
{/*
public function testLoadRecursively()
{
$repo = $this->getMockBuilder('Composer\Repository\ComposerRepository')
->disableOriginalConstructor()
->setMethods(array('fetchFile'))
@ -144,25 +144,19 @@ class ComposerRepositoryTest extends TestCase
)
)));
$pool = $this->getMock('Composer\DependencyResolver\Pool');
$pool->expects($this->any())
->method('isPackageAcceptable')
->will($this->returnValue(true));
$versionParser = new VersionParser();
$repo->setRootAliases(array(
'a' => array(
$versionParser->normalize('0.6') => array('alias' => 'dev-feature', 'alias_normalized' => $versionParser->normalize('dev-feature')),
$versionParser->normalize('1.1.x-dev') => array('alias' => '1.0', 'alias_normalized' => $versionParser->normalize('1.0')),
),
));
$packages = $repo->whatProvides($pool, 'a');
$that = $this;
$packages = $repo->loadRecursively(array('a'), true, function ($name, $stability) use ($that) {
$this->assertEquals('a', $name);
return true;
});
$this->assertCount(7, $packages);
$this->assertEquals(array('1', '1-alias', '2', '2-alias', '2-root', '3', '3-root'), array_keys($packages));
$this->assertInstanceOf('Composer\Package\AliasPackage', $packages['2-root']);
$this->assertSame($packages['2'], $packages['2-root']->getAliasOf());
$this->assertSame($packages['2'], $packages['2-alias']->getAliasOf());*/
$this->assertCount(5, $packages);
$this->assertEquals(array('1.0.x-dev', 'dev-master', '1.1.x-dev', 'dev-develop', '0.6'), array_map(function ($p) {
return $p->getPrettyVersion();
}, $packages));
$this->assertInstanceOf('Composer\Package\AliasPackage', $packages[2]);
$this->assertSame($packages[3], $packages[2]->getAliasOf());
}
}