/** * Register supported nodes and readers * * @param array $readers * @return void */ protected function prepareReader($readers) { if (empty($this->nodeReaders)) { /** @var $reader Layout\ReaderInterface */ foreach ($readers as $readerClass) { $reader = $this->readerFactory->create($readerClass); $this->addReader($reader); } } }
public function testInterpret() { /** @var Reader\Context $contextMock */ $contextMock = $this->getMockBuilder('Magento\\Framework\\View\\Layout\\Reader\\Context')->disableOriginalConstructor()->getMock(); $currentElement = new \Magento\Framework\View\Layout\Element('<element><move name="block"/><remove name="container"/><ignored name="user"/></element>'); /** * @var \Magento\Framework\View\Layout\Reader\Move|\PHPUnit_Framework_MockObject_MockObject $moveReaderMock */ $moveReaderMock = $this->getMockBuilder('Magento\\Framework\\View\\Layout\\Reader\\Move')->disableOriginalConstructor()->getMock(); $moveReaderMock->expects($this->exactly(2))->method('interpret')->willReturn($this->returnSelf()); $moveReaderMock->method('getSupportedNodes')->willReturn(['move']); $this->readerFactoryMock->expects($this->once())->method('create')->willReturnMap([['Magento\\Framework\\View\\Layout\\Reader\\Move', [], $moveReaderMock]]); $this->pool->interpret($contextMock, $currentElement); $this->pool->interpret($contextMock, $currentElement); }