Ejemplo n.º 1
0
 public function testRemoveWithDependents()
 {
     $moduleManager = $this->getMockBuilder('Samurai\\Module\\ModuleManager')->disableOriginalConstructor()->getMock();
     $composer = $this->getMockBuilder('Samurai\\Project\\Composer\\Composer')->disableOriginalConstructor()->getMock();
     $balloonFactory = new BalloonFactory(new DummyFileReaderFactory(new DummyFileReader()));
     $modulesSorter = $this->getMockBuilder('Samurai\\Module\\ModulesSorter')->disableOriginalConstructor()->getMock();
     $modules = new Modules();
     $module = new Module();
     $module->setPackage('none/none');
     $module->setName('a');
     $dependent = new Module();
     $dependent->setPackage('p/d');
     $dependent->setDependencies(new Modules([$module]));
     $modules['d'] = $dependent;
     $composer->expects($this->never())->method('removePackage');
     $moduleManager->expects($this->never())->method('remove');
     $moduleManager->expects($this->any())->method('getAll')->will($this->returnValue($modules));
     $modulesSorter->expects($this->never())->method('sort');
     $output = new BufferedOutput();
     $moduleProcedure = new ModuleProcedure($moduleManager, $composer, $balloonFactory, $modulesSorter);
     $moduleProcedure->setOutput($output);
     $this->assertFalse($moduleProcedure->remove($module));
     $this->assertSame("Removing none/none\nThe module \"a\" cant not be removed because is a dependency of \"d\". First remove \"d\".\n", $output->fetch());
 }
Ejemplo n.º 2
0
 /**
  * @param Module $module
  * @param array $moduleData
  * @return Module
  */
 private function completeModuleParams(Module $module, array $moduleData)
 {
     if (!$module->getDescription() && !empty($moduleData['description'])) {
         $module->setDescription($moduleData['description']);
     }
     if (!$module->getSource() && !empty($moduleData['source'])) {
         $module->setDescription($moduleData['source']);
     }
     if (!empty($moduleData['dependencies'])) {
         $module->setDependencies($moduleData['dependencies']);
     }
     if (!empty($moduleData['tasks'])) {
         $module->setTasks((array) $moduleData['tasks']);
     }
     return $module;
 }