objectManagerHelper = new ObjectManagerHelper($this); $this->readerFactoryMock = $this->getMockBuilder(\Magento\Framework\View\Layout\ReaderFactory::class) ->disableOriginalConstructor()->getMock(); $this->pool = $this->objectManagerHelper->getObject( \Magento\Framework\View\Layout\ReaderPool::class, [ 'readerFactory' => $this->readerFactoryMock, 'readers' => ['move' => \Magento\Framework\View\Layout\Reader\Move::class] ] ); } public function testInterpret() { /** @var Reader\Context $contextMock */ $contextMock = $this->getMockBuilder(\Magento\Framework\View\Layout\Reader\Context::class) ->disableOriginalConstructor()->getMock(); $currentElement = new \Magento\Framework\View\Layout\Element( '' ); /** * @var \Magento\Framework\View\Layout\Reader\Move|\PHPUnit_Framework_MockObject_MockObject $moveReaderMock */ $moveReaderMock = $this->getMockBuilder(\Magento\Framework\View\Layout\Reader\Move::class) ->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::class, [], $moveReaderMock]]); $this->pool->interpret($contextMock, $currentElement); $this->pool->interpret($contextMock, $currentElement); } }