示例#1
0
    public function testPluginApiVersionDoesSupportSelfVersion()
    {
        $links = $this->loader->parseLinks('Plugin', '6.6.6', '', array('composer-plugin-api' => 'self.version'));

        $this->assertArrayHasKey('composer-plugin-api', $links);
        $this->assertSame('6.6.6', $links['composer-plugin-api']->getConstraint()->getPrettyString());
    }
 /**
  * Initialize the installed package.
  */
 private function initInstalledPackages()
 {
     /* @var PackageInterface $package */
     foreach ($this->installedRepository->getPackages() as $package) {
         $operator = $this->getFilterOperator($package);
         /* @var Link $link */
         $link = current($this->arrayLoader->parseLinks($this->package->getName(), $this->package->getVersion(), 'installed', array($package->getName() => $operator . $package->getPrettyVersion())));
         $link = $this->includeRootConstraint($package, $link);
         $this->requires[$package->getName()] = $link;
     }
 }
 /**
  * Init test.
  *
  * @param array  $requires
  * @param string $minimumStability
  * @param array  $extra
  */
 protected function init(array $requires = array(), $minimumStability = 'stable', array $extra = array())
 {
     $parser = new ArrayLoader();
     $linkRequires = $parser->parseLinks('__ROOT__', '1.0.0', 'requires', $requires);
     $stabilityFlags = $this->findStabilityFlags($requires);
     $this->package->expects($this->any())->method('getRequires')->will($this->returnValue($linkRequires));
     $this->package->expects($this->any())->method('getDevRequires')->will($this->returnValue(array()));
     $this->package->expects($this->any())->method('getMinimumStability')->will($this->returnValue($minimumStability));
     $this->package->expects($this->any())->method('getStabilityFlags')->will($this->returnValue($stabilityFlags));
     $this->package->expects($this->any())->method('getExtra')->will($this->returnValue($extra));
     /* @var RootPackageInterface $package */
     $package = $this->package;
     $this->filter = new VcsPackageFilter($package, $this->installationManager, $this->installedRepository);
 }
 /**
  * @deprecated use ArrayLoader::parseLinks() instead
  * @param  string $source        source package name
  * @param  string $sourceVersion source package version (pretty version ideally)
  * @param  string $description   link description (e.g. requires, replaces, ..)
  * @param  array  $links         array of package name => constraint mappings
  * @return Link[]
  */
 public function parseLinks($source, $sourceVersion, $description, $links)
 {
     trigger_error(__METHOD__ . ' is deprecated. Use ' . '\\Composer\\Package\\Loader\\ArrayLoader::parseLinks() instead', E_USER_DEPRECATED);
     $loader = new ArrayLoader($this, false);
     return $loader->parseLinks($source, $sourceVersion, $description, $links);
 }