/** * @magentoAppIsolation enabled * @covers \Magento\Framework\View\Element\AbstractBlock::getChildHtml * @covers \Magento\Framework\View\Element\AbstractBlock::getChildChildHtml */ public function testGetChildHtml() { // Without layout $this->assertEmpty($this->_block->getChildHtml()); $this->assertEmpty($this->_block->getChildHtml('block')); // With layout $parent = $this->_createBlockWithLayout('parent', 'parent'); $blockOne = $this->_createBlockWithLayout('block1', 'block1', 'Magento\\Framework\\View\\Element\\Text'); $blockTwo = $this->_createBlockWithLayout('block2', 'block2', 'Magento\\Framework\\View\\Element\\Text'); $blockOne->setText('one'); $blockTwo->setText('two'); $parent->insert($blockTwo, '-', false, 'block2'); // make block2 1st $parent->insert($blockOne, '-', false, 'block1'); // make block1 1st $this->assertEquals('one', $parent->getChildHtml('block1')); $this->assertEquals('two', $parent->getChildHtml('block2')); // Sorted will render in the designated order $this->assertEquals('onetwo', $parent->getChildHtml('', true, true)); // GetChildChildHtml $blockTwo->setChild('block11', $blockOne); $this->assertEquals('one', $parent->getChildChildHtml('block2')); $this->assertEquals('', $parent->getChildChildHtml('')); $this->assertEquals('', $parent->getChildChildHtml('block3')); }