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); }