Пример #1
0
 public function testGetElementAlias()
 {
     $this->_layout->addContainer('one', 'One');
     $this->_layout->addContainer('two', 'One', array(), 'one', '1');
     $this->assertFalse($this->_layout->getElementAlias('one'));
     $this->assertEquals('1', $this->_layout->getElementAlias('two'));
 }
Пример #2
0
 public function testLayoutDirectives()
 {
     /**
      * Test correct move
      */
     $layout = new Mage_Core_Model_Layout();
     $layout->getUpdate()->load(array('layout_test_handle_move'));
     $layout->generateXml()->generateElements();
     $this->assertEquals('container2', $layout->getParentName('container1'));
     $this->assertEquals('container1', $layout->getParentName('no.name2'));
     $this->assertEquals('block_container', $layout->getParentName('no_name3'));
     // verify `after` attribute
     $this->assertEquals('block_container', $layout->getParentName('no_name'));
     $childrenOrderArray = array_keys($layout->getChildBlocks($layout->getParentName('no_name')));
     $positionAfter = array_search('child_block1', $childrenOrderArray);
     $positionToVerify = array_search('no_name', $childrenOrderArray);
     $this->assertEquals($positionAfter, --$positionToVerify);
     // verify `before` attribute
     $this->assertEquals('block_container', $layout->getParentName('no_name4'));
     $childrenOrderArray = array_keys($layout->getChildBlocks($layout->getParentName('no_name4')));
     $positionBefore = array_search('child_block2', $childrenOrderArray);
     $positionToVerify = array_search('no_name4', $childrenOrderArray);
     $this->assertEquals($positionBefore, ++$positionToVerify);
     /**
      * Test move with the same alias
      */
     $layout = new Mage_Core_Model_Layout();
     $layout->getUpdate()->load(array('layout_test_handle_move_the_same_alias'));
     $layout->generateXml()->generateElements();
     $this->assertEquals('container1', $layout->getParentName('no_name3'));
     /**
      * Test move with a new alias
      */
     $layout = new Mage_Core_Model_Layout();
     $layout->getUpdate()->load(array('layout_test_handle_move_new_alias'));
     $layout->generateXml()->generateElements();
     $this->assertEquals('new_alias', $layout->getElementAlias('no_name3'));
     /**
      * Test layout action with anonymous parent block
      */
     $layout = new Mage_Core_Model_Layout();
     $layout->getUpdate()->load(array('layout_test_handle_action_for_anonymous_parent_block'));
     $layout->generateXml()->generateElements();
     $this->assertEquals('schedule_block', $layout->getParentName('test.block.insert'));
     $this->assertEquals('schedule_block_1', $layout->getParentName('test.block.append'));
     /**
      * Test layout remove directive
      */
     $layout = new Mage_Core_Model_Layout();
     $layout->getUpdate()->load(array('layout_test_handle_remove'));
     $layout->generateXml()->generateElements();
     $this->assertFalse($layout->getBlock('no_name2'));
     $this->assertFalse($layout->getBlock('child_block1'));
     $this->assertTrue($layout->isBlock('child_block2'));
 }