![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/framework/View/Test/Unit/Element/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Framework\View\Test\Unit\Element; use Magento\Framework\TestFramework\Unit\Helper\ObjectManager; use Magento\Framework\View\Element\AbstractBlock; use Magento\Framework\View\Element\BlockInterface; use Magento\Framework\View\Element\Context; use Magento\Framework\View\Element\RendererList; use Magento\Framework\View\LayoutInterface; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; class RendererListTest extends TestCase { /** * @var RendererList */ protected $renderList; /** * @var Context|MockObject */ protected $contextMock; /** * @var LayoutInterface|MockObject */ protected $layoutMock; /** * @var AbstractBlock|MockObject */ protected $blockMock; protected function setUp(): void { $objectManagerHelper = new ObjectManager($this); $this->blockMock = $this->getMockBuilder(AbstractBlock::class) ->setMethods(['setRenderedBlock', 'getTemplate', 'setTemplate'])->disableOriginalConstructor() ->getMockForAbstractClass(); $this->layoutMock = $this->getMockBuilder(LayoutInterface::class) ->setMethods(['getBlock', 'getChildName'])->disableOriginalConstructor() ->getMockForAbstractClass(); $this->layoutMock->expects($this->any()) ->method('getBlock') ->willReturn($this->blockMock); $this->contextMock = $this->getMockBuilder(Context::class) ->setMethods(['getLayout'])->disableOriginalConstructor() ->getMock(); $this->contextMock->expects($this->any()) ->method('getLayout') ->willReturn($this->layoutMock); $this->renderList = $objectManagerHelper->getObject( RendererList::class, ['context' => $this->contextMock] ); } public function testGetRenderer() { $this->blockMock->expects($this->any()) ->method('setRenderedBlock') ->willReturn($this->blockMock); $this->blockMock->expects($this->any()) ->method('getTemplate') ->willReturn('template'); $this->blockMock->expects($this->any()) ->method('setTemplate') ->willReturn($this->blockMock); $this->layoutMock->expects($this->any()) ->method('getChildName') ->willReturn(true); /** During the first call cache will be generated */ $this->assertInstanceOf( BlockInterface::class, $this->renderList->getRenderer('type', null, null) ); /** Cached value should be returned during second call */ $this->assertInstanceOf( BlockInterface::class, $this->renderList->getRenderer('type', null, 'renderer_template') ); } public function testGetRendererWithException() { $this->expectException('RuntimeException'); $this->assertInstanceOf( BlockInterface::class, $this->renderList->getRenderer(null) ); } }