protected function setUp() { $loader = new JsonLoader(new ArrayLoader()); $this->packages = array(); $this->directory = sys_get_temp_dir() . '/' . uniqid(); for ($i = 1; $i <= 4; $i++) { $filename = '/Fixtures/plugin-v' . $i . '/composer.json'; mkdir(dirname($this->directory . $filename), 0777, TRUE); $this->packages[] = $loader->load(__DIR__ . $filename); } $dm = $this->getMockBuilder('Composer\\Downloader\\DownloadManager')->disableOriginalConstructor()->getMock(); $this->repository = $this->getMock('Composer\\Repository\\InstalledRepositoryInterface'); $rm = $this->getMockBuilder('Composer\\Repository\\RepositoryManager')->disableOriginalConstructor()->getMock(); $rm->expects($this->any())->method('getLocalRepository')->will($this->returnValue($this->repository)); $im = $this->getMock('Composer\\Installer\\InstallationManager'); $im->expects($this->any())->method('getInstallPath')->will($this->returnCallback(function ($package) { return __DIR__ . '/Fixtures/' . $package->getPrettyName(); })); $this->io = $this->getMock('Composer\\IO\\IOInterface'); $dispatcher = $this->getMockBuilder('Composer\\EventDispatcher\\EventDispatcher')->disableOriginalConstructor()->getMock(); $this->autoloadGenerator = new AutoloadGenerator($dispatcher); $this->composer = new Composer(); $config = new Config(); $this->composer->setConfig($config); $this->composer->setDownloadManager($dm); $this->composer->setRepositoryManager($rm); $this->composer->setInstallationManager($im); $this->composer->setAutoloadGenerator($this->autoloadGenerator); $this->pm = new PluginManager($this->composer, $this->io); $this->composer->setPluginManager($this->pm); $config->merge(array('config' => array('vendor-dir' => $this->directory . '/Fixtures/', 'home' => $this->directory . '/Fixtures', 'bin-dir' => $this->directory . '/Fixtures/bin'))); }
/** * @param string|JsonFile $json * @param Config $config * * @return \Composer\Package\RootPackageInterface */ public static function loadRootPackageFromJson($json, Config $config = null) { try { $config = null !== $config ? $config : self::loadConfiguration(); $loader = new JsonLoader(new RootPackageLoader(RepositoryFactory::manager(new NullIO(), $config), $config)); $package = $loader->load($json); } catch (Exception $e) { throw RuntimeException::fromAnyException($e); } return $package; }
protected function setUp() { $loader = new JsonLoader(); $this->packages = array(); for ($i = 1; $i <= 3; $i++) { $this->packages[] = $loader->load(__DIR__ . '/Fixtures/installer-v' . $i . '/composer.json'); } $this->dm = $this->getMockBuilder('Composer\\Downloader\\DownloadManager')->disableOriginalConstructor()->getMock(); $this->im = $this->getMockBuilder('Composer\\Installer\\InstallationManager')->disableOriginalConstructor()->getMock(); $this->repository = $this->getMock('Composer\\Repository\\WritableRepositoryInterface'); $this->io = $this->getMock('Composer\\IO\\IOInterface'); }
protected function setUp() { $loader = new JsonLoader(new ArrayLoader()); $this->packages = array(); for ($i = 1; $i <= 4; $i++) { $this->packages[] = $loader->load(__DIR__.'/Fixtures/installer-v'.$i.'/composer.json'); } $dm = $this->getMockBuilder('Composer\Downloader\DownloadManager') ->disableOriginalConstructor() ->getMock(); $this->im = $this->getMockBuilder('Composer\Installer\InstallationManager') ->disableOriginalConstructor() ->getMock(); $this->repository = $this->getMock('Composer\Repository\InstalledRepositoryInterface'); $rm = $this->getMockBuilder('Composer\Repository\RepositoryManager') ->disableOriginalConstructor() ->getMock(); $rm->expects($this->any()) ->method('getLocalRepositories') ->will($this->returnValue(array($this->repository))); $this->io = $this->getMock('Composer\IO\IOInterface'); $this->composer = new Composer(); $config = new Config(); $this->composer->setConfig($config); $this->composer->setDownloadManager($dm); $this->composer->setInstallationManager($this->im); $this->composer->setRepositoryManager($rm); $config->merge(array( 'config' => array( 'vendor-dir' => __DIR__.'/Fixtures/', 'bin-dir' => __DIR__.'/Fixtures/bin', ), )); }