/**
  * 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);
 }
Exemple #2
0
 /**
  * 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;
 }