/** * @return void */ public function setUp() { parent::setUp(); $this->subject = $this->getMock(RenderViewHelper::class, array('renderChildren')); $this->view = $this->getMock(TemplateView::class, array('renderPartial', 'renderSection')); $this->view->setRenderingContext($this->renderingContext); $container = new ViewHelperVariableContainer(); $container->setView($this->view); $this->renderingContext->setViewHelperVariableContainer($container); $this->subject->setRenderingContext($this->renderingContext); }
/** * @test * @dataProvider getRenderTestValues * @param array $arguments * @param string|NULL $expectedViewMethod */ public function testRender(array $arguments, $expectedViewMethod) { if ($expectedViewMethod) { $methods = array($expectedViewMethod); } else { $methods = array('renderPartial', 'renderSection'); } $instance = $this->getMock('TYPO3Fluid\\Fluid\\ViewHelpers\\RenderViewHelper', array('renderChildren')); $instance->expects($this->any())->method('renderChildren')->willReturn(NULL); $renderingContext = new RenderingContext(); $paths = $this->getMock('TYPO3Fluid\\Fluid\\View\\TemplatePaths', array('sanitizePath')); $paths->expects($this->any())->method('sanitizePath')->willReturnArgument(0); $viewHelperVariableContainer = new ViewHelperVariableContainer(); $view = $this->getMock('TYPO3Fluid\\Fluid\\View\\TemplateView', $methods, array($paths, $renderingContext)); $viewHelperVariableContainer->setView($view); $renderingContext->injectViewHelperVariableContainer($viewHelperVariableContainer); $instance->setArguments($arguments); $instance->setRenderingContext($renderingContext); $instance->render(); }
/** * We empty the TemplateVariableContainer for this test, as it shouldn't be needed for rendering a link to a node * identified by ContextNodePath * * @test */ public function viewHelperRendersUriViaContextNodePathString() { $this->assertSame('<a href="/en/home.html">Home</a>', $this->viewHelper->render('/sites/example/home@live')); $this->assertSame('<a href="/en/home/about-us.html">About Us Test</a>', $this->viewHelper->render('/sites/example/home/about-us@live')); $this->assertSame('<a href="/en/home/about-us/our-mission.html">Our mission</a>', $this->viewHelper->render('/sites/example/home/about-us/mission@live')); // The tests should also work in a regular fluid view, so we set that and repeat the tests $mockView = $this->getAccessibleMock(TemplateView::class, array(), array(), '', false); $viewHelperVariableContainer = new ViewHelperVariableContainer(); $viewHelperVariableContainer->setView($mockView); $this->inject($this->viewHelper, 'viewHelperVariableContainer', $viewHelperVariableContainer); $this->assertSame('<a href="/en/home.html">Home</a>', $this->viewHelper->render('/sites/example/home@live')); $this->assertSame('<a href="/en/home/about-us.html">About Us Test</a>', $this->viewHelper->render('/sites/example/home/about-us@live')); $this->assertSame('<a href="/en/home/about-us/our-mission.html">Our mission</a>', $this->viewHelper->render('/sites/example/home/about-us/mission@live')); }
/** * @test */ public function viewCanBeReadOutAgain() { $view = $this->getMockForAbstractClass(AbstractTemplateView::class); $this->viewHelperVariableContainer->setView($view); $this->assertSame($view, $this->viewHelperVariableContainer->getView()); }
/** * @test */ public function viewCanBeReadOutAgain() { $view = $this->getMockForAbstractClass('TYPO3Fluid\\Fluid\\View\\AbstractTemplateView', array(new TemplatePaths())); $this->viewHelperVariableContainer->setView($view); $this->assertSame($view, $this->viewHelperVariableContainer->getView()); }