commit
f273b436cc
|
@ -48,10 +48,15 @@ class ArrayRepository implements RepositoryInterface
|
||||||
{
|
{
|
||||||
// normalize name
|
// normalize name
|
||||||
$name = strtolower($name);
|
$name = strtolower($name);
|
||||||
|
$packages = array();
|
||||||
|
|
||||||
return array_filter($this->getPackages(), function (PackageInterface $package) use ($name) {
|
foreach ($this->getPackages() as $package) {
|
||||||
return $package->getName() === $name;
|
if ($package->getName() === $name) {
|
||||||
});
|
$packages[] = $package;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $packages;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -50,4 +50,20 @@ class ArrayRepositoryTest extends TestCase
|
||||||
$this->assertTrue($repo->hasPackage($this->getPackage('foo', '1')));
|
$this->assertTrue($repo->hasPackage($this->getPackage('foo', '1')));
|
||||||
$this->assertFalse($repo->hasPackage($this->getPackage('bar', '1')));
|
$this->assertFalse($repo->hasPackage($this->getPackage('bar', '1')));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testFindPackagesByName()
|
||||||
|
{
|
||||||
|
$repo = new ArrayRepository();
|
||||||
|
$repo->addPackage($this->getPackage('foo', '1'));
|
||||||
|
$repo->addPackage($this->getPackage('bar', '2'));
|
||||||
|
$repo->addPackage($this->getPackage('bar', '3'));
|
||||||
|
|
||||||
|
$foo = $repo->findPackagesByName('foo');
|
||||||
|
$this->assertCount(1, $foo);
|
||||||
|
$this->assertEquals('foo', $foo[0]->getName());
|
||||||
|
|
||||||
|
$bar = $repo->findPackagesByName('bar');
|
||||||
|
$this->assertCount(2, $bar);
|
||||||
|
$this->assertEquals('bar', $bar[0]->getName());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue