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:----kIt5qOwnWbZrQBBbSHApSX4ldkqXjmKRSQIJPGINcvo+9F3wfkriZ5BTYCAwYJKqItU6/qQRD3VRg3mcxLC/4lJXfTaK60JIebZKjTK7THF9ruts5yr5g1v6/2pMroi5+KkEgJ64PjSYANQU/dirDXZ3mGMXzj0SB5LLRnO7QrqKuIvXRZ4TSQWot4CFhJutYSkUeVMJre+OmOwsM947G1rD/mfgF8NbXgcVbKwKAgbscleFTDIQX6vK3lKrrTfFy54wfQ4l6hDvKhGf13lfBvbKLDQcJ45AhleU37jTsXzrhLrVlWC7g7K0Hx+rdNQPJB4l1Dz6401+y5gVgephKZBhJP3mUgkV47jDQc7Lo6tStWZU69E1hmXasQ90tr7UeLexhL5LOFBo3yiHCQvfceKlZDqwGBCQkBM5mr5CRPDDqcv+KnV1TF1KJhMmwWYp5BCEmOe6XLeKsqyMHdMiPdlaX0AHVvOe8KLWdfQCsbdAyT8DJkJJ/iFDKRqhXSugraoN4VTMpqghpuCaGqxyYNLbJ/vc4xv96eYg7Q/u/dUxiUQeZfNLU25CfjMrKaZa5EUn3Cc2yE8WkWhdNXOzpEkLjtZJX5RIeA6zl5XBgXGqtcF4npjgrqmOwyIpWXWc+aDK5xglyBtEtGZxtv9V0gZZz1Hl5e32qr8uP0VLb50=----ATTACHMENT:----MTg4NTMwMTIzNjgxMDgzMSA4ODc3OTg5NjI2NjUyMTE1IDY4MjU5MzQyNDM3NDE0MjU=