/**
  * @return void
  */
 public function testSetElementToBrokenParentList()
 {
     $element = 'element9';
     $expectedToRemove = ['element2', 'element3'];
     $expectedToRemoveWithBroken = ['element2', 'element3', 'element9'];
     $this->assertEquals($expectedToRemove, $this->model->getListToRemove());
     $this->model->setElementToBrokenParentList($element);
     $this->assertEquals($expectedToRemoveWithBroken, $this->model->getListToRemove());
     $this->model->unsetElementFromBrokenParentList($element);
     $this->assertEquals($expectedToRemove, $this->model->getListToRemove());
 }
Esempio n. 2
0
 /**
  * @covers \Magento\Framework\View\Layout\ScheduledStructure::setElementToRemoveList
  */
 public function testSetElementToRemoveList()
 {
     $this->assertNotContains('element1', $this->_model->getListToRemove());
     $this->_model->setElementToRemoveList('element1');
     $this->assertContains('element1', $this->_model->getListToRemove());
 }
Esempio n. 3
0
 /**
  * Create structure of elements from the loaded XML configuration
  *
  * @return void
  * @SuppressWarnings(PHPMD.UnusedLocalVariable)
  */
 public function generateElements()
 {
     \Magento\Framework\Profiler::start(__CLASS__ . '::' . __METHOD__);
     \Magento\Framework\Profiler::start('build_structure');
     $this->_scheduledStructure->flushScheduledStructure();
     $this->_readStructure($this->getNode());
     $this->_addToOutputRootContainers($this->getNode());
     while (false === $this->_scheduledStructure->isStructureEmpty()) {
         $this->_scheduleElement(key($this->_scheduledStructure->getStructure()));
     }
     $this->_scheduledStructure->flushPaths();
     foreach ($this->_scheduledStructure->getListToMove() as $elementToMove) {
         $this->_moveElementInStructure($elementToMove);
     }
     foreach ($this->_scheduledStructure->getListToRemove() as $elementToRemove) {
         $this->_removeElement($elementToRemove);
     }
     \Magento\Framework\Profiler::stop('build_structure');
     \Magento\Framework\Profiler::start('generate_elements');
     while (false === $this->_scheduledStructure->isElementsEmpty()) {
         list($type, $node, $actions, $args, $attributes) = current($this->_scheduledStructure->getElements());
         $elementName = key($this->_scheduledStructure->getElements());
         if ($type == Element::TYPE_BLOCK) {
             $this->_generateBlock($elementName);
         } else {
             $this->_generateContainer($elementName, (string) $node[Element::CONTAINER_OPT_LABEL], $attributes);
             $this->_scheduledStructure->unsetElement($elementName);
         }
     }
     \Magento\Framework\Profiler::stop('generate_elements');
     \Magento\Framework\Profiler::stop(__CLASS__ . '::' . __METHOD__);
 }