public function testAddPageLayoutHandlesWithDefaultHandle() { $defaultHandle = 'default_handle'; $parameters = ['key_one' => 'val_one', 'key_two' => 'val_two']; $expected = ['default_handle', 'default_handle_key_one_val_one', 'default_handle_key_two_val_two']; $this->request->expects($this->never())->method('getFullActionName'); $this->layoutMerge->expects($this->any())->method('addHandle')->with($expected)->willReturnSelf(); $this->page->addPageLayoutHandles($parameters, $defaultHandle); }
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()); }
/** * Test loading invalid layout */ public function testLoadWithInvalidLayout() { $this->_model->addPageHandles(array('default')); $this->_appState->expects($this->any())->method('getMode')->will($this->returnValue('developer')); $this->_layoutValidator->expects($this->any())->method('getMessages')->will($this->returnValue(array('testMessage1', 'testMessage2'))); $this->_layoutValidator->expects($this->any())->method('isValid')->will($this->returnValue(false)); $suffix = md5(implode('|', $this->_model->getHandles())); $cacheId = "LAYOUT_{$this->_theme->getArea()}_STORE{$this->_store->getId()}_{$this->_theme->getId()}{$suffix}"; $messages = $this->_layoutValidator->getMessages(); // Testing error message is logged with logger $this->_logger->expects($this->once())->method('log')->with('Cache file with merged layout: ' . $cacheId . ': ' . array_shift($messages), \Zend_Log::ERR); $this->_model->load(); }