/** * Test that removal of invalid arguments will raise an exception. * * @return void * * @expectedException \InvalidArgumentException */ public function testRemovalOfInvalidVersionRaisesException() { $versioned = new VersionedPackage($this->mockVersion('0.1.0.0', '2000-01-01 00:00:00')); $versioned->removeVersion(15); }
/** * Decorate the package with stats from packagist. * * @param VersionedPackage $package The package version. * * @return VersionedPackage */ protected function decorateWithPackagistStats(VersionedPackage $package) { if (null === $this->decorateBaseUrl) { return $package; } $rfs = new RemoteFilesystem(new BufferIO()); $requestUrl = sprintf($this->decorateBaseUrl, $package->getName()); if (!($jsonData = $rfs->getContents($requestUrl, $requestUrl))) { $this->decorateBaseUrl = null; return $package; } try { $data = new JsonArray($jsonData); } catch (\RuntimeException $exception) { $this->decorateBaseUrl = null; return $package; } $metaPaths = ['downloads' => 'package/downloads/total', 'favers' => 'package/favers']; foreach ($metaPaths as $metaKey => $metaPath) { $package->addMetaData($metaKey, $data->get($metaPath)); } return $package; }