Exemplo n.º 1
0
 public function testGetBlock()
 {
     $this->assertFalse($this->_layout->getBlock('test'));
     $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\\Framework\\View\\Layout')->createBlock('Magento\\Framework\\View\\Element\\Text');
     $this->_layout->setBlock('test', $block);
     $this->assertSame($block, $this->_layout->getBlock('test'));
 }
Exemplo n.º 2
0
 public function testRenameElement()
 {
     $oldName = 'old_name';
     $newName = 'new_name';
     $blockMock = $this->getMockBuilder('Magento\\Framework\\View\\Element\\AbstractBlock')->disableOriginalConstructor()->getMockForAbstractClass();
     $this->structureMock->expects($this->once())->method('renameElement')->with($this->equalTo($oldName), $this->equalTo($newName))->will($this->returnSelf());
     $this->assertSame($this->model, $this->model->setBlock($oldName, $blockMock));
     $this->assertSame($this->model, $this->model->renameElement($oldName, $newName));
     $this->assertSame([$newName => $blockMock], $this->model->getAllBlocks());
 }
Exemplo n.º 3
0
 /**
  * @param mixed $displayValue
  * @dataProvider renderElementDisplayDataProvider
  */
 public function testRenderElementDisplay($displayValue)
 {
     $name = 'test_container';
     $child = 'child_block';
     $children = [$child => true];
     $blockHtml = '<html/>';
     $this->structureMock->expects($this->atLeastOnce())->method('getAttribute')->willReturnMap([[$name, 'display', $displayValue], [$child, 'display', $displayValue], [$child, 'type', \Magento\Framework\View\Layout\Element::TYPE_BLOCK]]);
     $this->structureMock->expects($this->atLeastOnce())->method('hasElement')->willReturnMap([[$child, true]]);
     $this->structureMock->expects($this->once())->method('getChildren')->with($name)->willReturn($children);
     $block = $this->getMock('Magento\\Framework\\View\\Element\\AbstractBlock', [], [], '', false);
     $block->expects($this->once())->method('toHtml')->willReturn($blockHtml);
     $renderingOutput = new \Magento\Framework\DataObject();
     $renderingOutput->setData('output', $blockHtml);
     $this->eventManagerMock->expects($this->at(0))->method('dispatch')->with('core_layout_render_element', ['element_name' => $child, 'layout' => $this->model, 'transport' => $renderingOutput]);
     $this->eventManagerMock->expects($this->at(1))->method('dispatch')->with('core_layout_render_element', ['element_name' => $name, 'layout' => $this->model, 'transport' => $renderingOutput]);
     $this->model->setBlock($child, $block);
     $this->assertEquals($blockHtml, $this->model->renderElement($name, false));
 }
Exemplo n.º 4
0
 /**
  * {@inheritdoc}
  */
 public function setBlock($name, $block)
 {
     $pluginInfo = $this->pluginList->getNext($this->subjectType, 'setBlock');
     if (!$pluginInfo) {
         return parent::setBlock($name, $block);
     } else {
         return $this->___callPlugins('setBlock', func_get_args(), $pluginInfo);
     }
 }