Exemplo n.º 1
0
 public function testPrecedence()
 {
     $this->stack->setMaster('node1');
     $this->stack->setMaster('node2');
     $this->assertEquals(array('node2', 'node1', 'root'), $this->stack->modulePrecedence());
     $this->stack->setMaster('node1');
     $this->assertEquals(array('node1', 'root'), $this->stack->modulePrecedence());
     $this->assertEquals('node2', $this->stack->advanceMaster());
     $this->assertEquals(array('node2', 'node1', 'root'), $this->stack->modulePrecedence());
     $this->assertFalse($this->stack->advanceMaster());
 }
Exemplo n.º 2
0
 /**
  * Add module to stack and register its Salts
  *
  * @param Module|string $class  full class name
  * @param bool          $master true if this is also the master module
  *
  * @return bool|null
  */
 public function append($class, $master = false)
 {
     if (!$this->canAppend($class)) {
         return false;
     }
     if (!($module = $this->registerModule($class))) {
         return false;
     }
     // Push to stack after registering - to preserve order of dependencies
     $this[$class::getName()] = $module;
     if ($master) {
         $this->stack->setMaster($class::getName());
     }
     return true;
 }