/** * @covers \Magento\Framework\View\Layout\ScheduledStructure::setElementToMove */ public function testSetElementToMove() { $data = ['some', 'new', 'data', 'element', 'to', 'move']; /** Test add new element */ $this->assertFalse($this->_model->hasElement('new_element')); $this->_model->setElementToMove('new_element', $data); $this->assertEquals($data, $this->_model->getElementToMove('new_element')); /** Test override existing element */ $this->assertNotEquals($data, $this->_model->getElementToMove('element1')); $this->_model->setElementToMove('element1', $data); $this->assertEquals($data, $this->_model->getElementToMove('element1')); }
/** * Move element in scheduled structure * * @param string $element * @return $this */ protected function _moveElementInStructure($element) { list($destination, $siblingName, $isAfter, $alias) = $this->_scheduledStructure->getElementToMove($element); if (!$alias && false === $this->_structure->getChildId($destination, $this->getElementAlias($element))) { $alias = $this->getElementAlias($element); } $this->_structure->unsetChild($element, $alias)->setAsChild($element, $destination, $alias); $this->reorderChild($destination, $element, $siblingName, $isAfter); return $this; }