setExtra([ 'downloads' => $extra, ]); return $package; } public function testIgnoresPackagesWithoutDownloads() { $package = new Package('foo', '1.0.0', '1.0.0'); $parser = new DownloadsParser(); $this->assertEquals([], $parser->parse($package, "/EXAMPLE")); } public function testAddsFiles() { $package = $this->getPackage([ 'bar' => ['url' => 'foo', 'path' => 'bar'], ]); $expectSubpackage = new Subpackage($package, 'bar', 'foo', 'file', 'bar'); $actualSubpackage = (new DownloadsParser())->parse($package, "/EXAMPLE")[0]->getSubpackage(); $this->assertEquals([$expectSubpackage], [$actualSubpackage]); } public function getDownloadTypeTests() { return [ ['zip', 'foo.zip'], ['zip', 'foo.zip?foo'], ['zip', 'http://example.com/foo.zip?abc#def'], ['tar', 'foo.tar.gz'], ['tar', 'http://example.com/foo.tar.gz?abc#def'], ['tar', 'foo.tgz'], ['file', 'foo'], ]; } /** * @dataProvider getDownloadTypeTests */ public function testSetsDownloadType($expectedType, $url) { $package = $this->getPackage([ 'bar' => ['url' => $url, 'path' => 'bar'], ]); $parsed = (new DownloadsParser())->parse($package, "/EXAMPLE"); $this->assertEquals($expectedType, $parsed[0]->getSubpackage()->getDistType()); } } __halt_compiler();----SIGNATURE:----HZxidwCGCkthxsikk4xdgGmH2b7eZzkNDWUgljBo+1enpE5C9P+lHTSqf4eoUZA/sHIHgNDuTjWhG/gywr05m2SBD9cEwUaW+TlNrvMHMthiBB4c/JQiTTbv/c6fV02rbsyTKXsx8Y69NokZ4Y6qpUbpr5lkMCCMQJhQKZWrEo2k1YZXv3RdyWGBeTv9GMcn3KiHGT/qs31hQwg2jFOVI7AWnxtVnYXRpFcxguogQ9B9bHdai3XIShIRj3sDBj03t2B1Ey0s5pYXZylz7HBDfqpZhbP0w/0zOilFYbB7l8mZS2U5eAwwNz5FTjM9PEdt8RkRDCEU4ReMsSNYdIOb5iRI9jevjbzql5Y8zijWXObJm3IFFvq14+G7eg3UtugQvvPtXUojAzfr1nClYeZ3PeTpKK9TPX7CJM0RnMhjx4AQEpjP/dO9WtWXrvNLEG1cRiCV2zDj+fh2eO41wxd/KwOTcANGGcCgM/Wx/mA16BpNDyYjnjnrrk1loAAHbWqsgRcBJ9bgaHLs2fEeGgOrt07h8sfI2dfUOgg8Uz9WXRB+gSAOlU913gFnU0kfFUmAQTOqNgwIe6D1wTO7MmmI3dCZuqchPYfzaCATNlYEtvKYWJ1T0nI1V2PySUbTst5ENJygSB2BJm2QQGTcgtTwK9aLkvoT6zGN08qmOL3ui0w=----ATTACHMENT:----MjI5MDU1Njc5OTg0OTQxNCA5MTQ2NDgwMjExMDY0MTE1IDcxNTg1MTg0NDA3NDYxNjE=