private function readPackageReleaseDependencies($baseUrl, $packageName, $version) { $dependencyReader = new PackageDependencyParser(); $depthPath = '/r/' . strtolower($packageName) . '/deps.' . $version . '.txt'; $content = $this->requestContent($baseUrl, $depthPath); $dependencyArray = unserialize($content); $result = $dependencyReader->buildDependencyInfo($dependencyArray); return $result; }
/** * @dataProvider dataProvider10 * @param $expected * @param $data10 * @param $data20 */ public function testShouldParseDependencies($expected, $data10, $data20) { $expectedDependencies = array(); foreach ($expected as $expectedItem) { $expectedDependencies[] = new DependencyConstraint($expectedItem['type'], $expectedItem['constraint'], $expectedItem['channel'], $expectedItem['name']); } $parser = new PackageDependencyParser(); if (false !== $data10) { $result = $parser->buildDependencyInfo($data10); $this->assertEquals($expectedDependencies, $result->getRequires() + $result->getOptionals(), "Failed for package.xml 1.0 format"); } if (false !== $data20) { $result = $parser->buildDependencyInfo($data20); $this->assertEquals($expectedDependencies, $result->getRequires() + $result->getOptionals(), "Failed for package.xml 2.0 format"); } }