public function testUpdateWithNotEqualTypes()
 {
     $libInstaller = $this->createInstallerMock();
     $bundleInstaller = $this->createInstallerMock();
     $manager = new InstallationManager();
     $manager->addInstaller($libInstaller);
     $manager->addInstaller($bundleInstaller);
     $initial = $this->createPackageMock();
     $target = $this->createPackageMock();
     $operation = new UpdateOperation($initial, $target, 'test');
     $initial->expects($this->once())->method('getType')->will($this->returnValue('library'));
     $target->expects($this->once())->method('getType')->will($this->returnValue('bundles'));
     $bundleInstaller->expects($this->exactly(2))->method('supports')->will($this->returnCallback(function ($arg) {
         return $arg === 'bundles';
     }));
     $libInstaller->expects($this->once())->method('supports')->with('library')->will($this->returnValue(true));
     $libInstaller->expects($this->once())->method('uninstall')->with($this->repository, $initial);
     $bundleInstaller->expects($this->once())->method('install')->with($this->repository, $target);
     $manager->update($this->repository, $operation);
 }
Beispiel #2
0
 /**
  * {@inheritDoc}
  */
 public function update(RepositoryInterface $repo, UpdateOperation $operation)
 {
     $this->packageInformation->set($this->packageInformation->escape($operation->getInitialPackage()->getPrettyName()), ['type' => 'update', 'reason' => $this->getReason($operation), 'package' => $this->dumper->dump($operation->getInitialPackage()), 'target' => $this->dumper->dump($operation->getTargetPackage())]);
     parent::update($repo, $operation);
 }