public function testInstall() { $installer = $this->createInstallerMock(); $manager = new InstallationManager(); $manager->addInstaller($installer); $package = $this->createPackageMock(); $operation = new InstallOperation($package, 'test'); $package->expects($this->once())->method('getType')->will($this->returnValue('library')); $installer->expects($this->once())->method('supports')->with('library')->will($this->returnValue(true)); $installer->expects($this->once())->method('install')->with($this->repository, $package); $manager->install($this->repository, $operation); }
public static function install(Event $event) { if (!self::init($event)) { return; } $notInstalled = 0; if (!empty(self::$toInstall)) { self::$io->write('<info>Installing platform-specific dependencies</info>'); foreach (self::$toInstall as $package) { if (!self::$installer->isPackageInstalled(self::$localRepo, $package)) { self::$installer->install(self::$localRepo, new InstallOperation($package)); self::updateBinary($package); } else { $notInstalled++; } } } if (empty(self::$toInstall) || $notInstalled > 0) { self::$io->write('Nothing to install or update in platform-specific dependencies'); } }
/** * {@inheritDoc} */ public function install(RepositoryInterface $repo, InstallOperation $operation) { $this->packageInformation->set($this->packageInformation->escape($operation->getPackage()->getPrettyName()), ['type' => 'install', 'reason' => $this->getReason($operation), 'package' => $this->dumper->dump($operation->getPackage())]); parent::install($repo, $operation); }