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:----y7xEU6xfCjaTzJ5lc2/KsgAPBOMKU2DyHSzg9jRaE/n/GyNqWox5izHHOUTzT7cGUOszF3xCK4yb4tv8SA/NbN/TGmMB4Ce1K+7f9pEuL7NziNwDsPQvXCSz5OZbcjFZiabGUNmeMfT2NZG5uyMETlAeRULTheFFRLXGYENPMnOwv/uQl7d/79TxZLwfT6nahoZCGimg3uiUm82LA/14L8nNbUjk7O/Zy1Doikm4LK9lQsQUT3nqeEtHaAPro4vo23zG+0kzZ9n74/wBZksktjEv616wXALhctFDTbnwo7H4IWNHdgLItEJ9F8MfZngBr1shGTZTtAQ1cMEjJqis4+PXHBR6gFLejxJbtawJt+hC6I4uWWTQObcWViHmgWzvbBzgRttjst+l3dnwOjFxgK+VQBR/Gu8ZvGZ7kmISEOKtQW9B8IdeqGKBDayBP7zVPSyrC6SPCVVaaROkT6thBds5PcA69BNyomMFUmGcB6Bs26UwIDEMgjIMhHoSM7SPkQp2C3DE9naiApy6xD5JJ1Tb0TMrkuYL7a7b+4KS6rBuyrYnzNXiKnrPkgMCXHO1VJSXPz/yHNB55cpdECn1j4qWudJt9YNeiaEdt7j2ghJ5kR20rFEmz9/z8FdG126smpvqTo/hXpvdp+vnQ9UzHaMCOXCgygDmDc+Z7ap0JgA=----ATTACHMENT:----NTExMTA5Nzg5NzMxMTM1NiA1MTMyNTczOTA5NTg3MDUzIDQ5NTU2NjMyODU3MzM1ODU=