Exemple #1
0
 /**
  * @dataProvider provideInstaller
  */
 public function testInstaller(PackageInterface $rootPackage, $repositories, array $options)
 {
     $io = $this->getMock('Composer\\IO\\IOInterface');
     $downloadManager = $this->getMock('Composer\\Downloader\\DownloadManager');
     $config = $this->getMock('Composer\\Config');
     $repositoryManager = new RepositoryManager($io, $config);
     $repositoryManager->setLocalRepository(new WritableRepositoryMock());
     $repositoryManager->setLocalDevRepository(new WritableRepositoryMock());
     if (!is_array($repositories)) {
         $repositories = array($repositories);
     }
     foreach ($repositories as $repository) {
         $repositoryManager->addRepository($repository);
     }
     $locker = $this->getMockBuilder('Composer\\Package\\Locker')->disableOriginalConstructor()->getMock();
     $installationManager = new InstallationManagerMock();
     $eventDispatcher = $this->getMockBuilder('Composer\\Script\\EventDispatcher')->disableOriginalConstructor()->getMock();
     $autoloadGenerator = $this->getMock('Composer\\Autoload\\AutoloadGenerator');
     $installer = new Installer($io, $config, clone $rootPackage, $downloadManager, $repositoryManager, $locker, $installationManager, $eventDispatcher, $autoloadGenerator);
     $result = $installer->run();
     $this->assertTrue($result);
     $expectedInstalled = isset($options['install']) ? $options['install'] : array();
     $expectedUpdated = isset($options['update']) ? $options['update'] : array();
     $expectedUninstalled = isset($options['uninstall']) ? $options['uninstall'] : array();
     $installed = $installationManager->getInstalledPackages();
     $this->assertSame($expectedInstalled, $installed);
     $updated = $installationManager->getUpdatedPackages();
     $this->assertSame($expectedUpdated, $updated);
     $uninstalled = $installationManager->getUninstalledPackages();
     $this->assertSame($expectedUninstalled, $uninstalled);
 }
Exemple #2
0
 /**
  * @param string $packageName
  *
  * @return bool
  */
 protected function doInstall($packageName)
 {
     $this->installer->setDryRun(false)->setVerbose(false)->setPreferSource(false)->setPreferDist(true)->setDevMode(false)->setRunScripts(true)->setUpdate(true)->setUpdateWhitelist([$packageName])->setOptimizeAutoloader(true);
     $result = $this->installer->run();
     return $result === 0;
 }