public function testGenerateXml() { $themeMock = $this->getMockForAbstractClass('Magento\Framework\View\Design\ThemeInterface'); $this->themeResolverMock->expects($this->once()) ->method('get') ->will($this->returnValue($themeMock)); $this->processorFactoryMock->expects($this->once()) ->method('create') ->with(['theme' => $themeMock]) ->will($this->returnValue($this->processorMock)); $xmlString = '<?xml version="1.0"?><layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">' . '<some_update>123</some_update></layout>'; $xml = simplexml_load_string($xmlString, 'Magento\Framework\View\Layout\Element'); $this->processorMock->expects($this->once()) ->method('asSimplexml') ->will($this->returnValue($xml)); $this->structureMock->expects($this->once()) ->method('importElements') ->with($this->equalTo([])) ->will($this->returnSelf()); $this->assertSame($this->model, $this->model->generateXml()); $this->assertSame('<some_update>123</some_update>', $this->model->getNode('some_update')->asXml()); }
/** * {@inheritdoc} */ public function getNode($path = null) { $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getNode'); if (!$pluginInfo) { return parent::getNode($path); } else { return $this->___callPlugins('getNode', func_get_args(), $pluginInfo); } }