/**
  * {@inheritdoc}
  */
 protected function whatProvidesManageException(Pool $pool, $name, \Exception $exception)
 {
     if ($exception instanceof InvalidCreateRepositoryException) {
         $data = $exception->getData();
         if (isset($data['versions']) && !empty($data['versions'])) {
             $this->putArrayRepositoryConfig($data['versions'], $name, $pool);
             return;
         }
     }
     parent::whatProvidesManageException($pool, $name, $exception);
 }
 public function testOverridingVcsRepositoryConfig()
 {
     $name = $this->getType() . '-asset/foobar';
     $rfs = $this->replaceRegistryRfsByMock();
     $rfs->expects($this->any())->method('getContents')->will($this->returnValue(json_encode($this->getMockPackageForVcsConfig())));
     $repo = $this->getMockBuilder('Fxp\\Composer\\AssetPlugin\\Repository\\AssetVcsRepository')->disableOriginalConstructor()->getMock();
     $repo->expects($this->any())->method('getComposerPackageName')->will($this->returnValue($name));
     /* @var AssetVcsRepository $repo */
     $this->rm->addRepository($repo);
     $this->assertCount(0, $this->registry->whatProvides($this->pool, $name));
 }
 /**
  * Constructor.
  *
  * @param array           $repoConfig
  * @param IOInterface     $io
  * @param Config          $config
  * @param EventDispatcher $eventDispatcher
  */
 public function __construct(array $repoConfig, IOInterface $io, Config $config, EventDispatcher $eventDispatcher = null)
 {
     $this->url = isset($repoConfig['private-registry-url']) ? $repoConfig['private-registry-url'] : null;
     parent::__construct($repoConfig, $io, $config, $eventDispatcher);
 }