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) { foreach ($this->jobs as $job) {
switch ($job['cmd']) { switch ($job['cmd']) {
case 'install': case 'install':
$packageNames[] = $job['packageName']; $packageNames[$job['packageName']] = true;
break; break;
} }
} }
$this->pool->loadRecursively($packageNames, true); $this->pool->loadRecursively(array_keys($packageNames), true);
$this->rules = $this->ruleSetGenerator->getRulesFor($this->jobs, $this->installedMap, $ignorePlatformReqs); $this->rules = $this->ruleSetGenerator->getRulesFor($this->jobs, $this->installedMap, $ignorePlatformReqs);
$this->checkForRootRequireProblems($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') $repo = $this->getMockBuilder('Composer\Repository\ComposerRepository')
->disableOriginalConstructor() ->disableOriginalConstructor()
->setMethods(array('fetchFile')) ->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(); $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->assertCount(5, $packages);
$this->assertEquals(array('1', '1-alias', '2', '2-alias', '2-root', '3', '3-root'), array_keys($packages)); $this->assertEquals(array('1.0.x-dev', 'dev-master', '1.1.x-dev', 'dev-develop', '0.6'), array_map(function ($p) {
$this->assertInstanceOf('Composer\Package\AliasPackage', $packages['2-root']); return $p->getPrettyVersion();
$this->assertSame($packages['2'], $packages['2-root']->getAliasOf()); }, $packages));
$this->assertSame($packages['2'], $packages['2-alias']->getAliasOf());*/ $this->assertInstanceOf('Composer\Package\AliasPackage', $packages[2]);
$this->assertSame($packages[3], $packages[2]->getAliasOf());
} }
} }