/** * Set up common mocks and object under test */ public function setUp() { $this->request = $this->getMockBuilder('TYPO3\\Flow\\Mvc\\ActionRequest')->disableOriginalConstructor()->getMock(); $this->request->expects($this->any())->method('getControllerPackageKey')->will($this->returnValue('MyPackage')); $this->controllerContext = $this->getMock('TYPO3\\Flow\\Mvc\\Controller\\ControllerContext', array(), array(), '', false); $this->controllerContext->expects($this->any())->method('getRequest')->will($this->returnValue($this->request)); $this->resourcePublisher = $this->getMock('TYPO3\\Flow\\Resource\\Publishing\\ResourcePublisher', array(), array(), '', false); $this->resourcePublisher->expects($this->any())->method('getStaticResourcesWebBaseUri')->will($this->returnValue('StaticResourceUri/')); $this->viewHelper = $this->getAccessibleMock('TYPO3\\Neos\\ViewHelpers\\IncludeJavaScriptViewHelper', array('iterateDirectoryRecursively')); $renderingContext = new \TYPO3\Fluid\Core\Rendering\RenderingContext(); $renderingContext->setControllerContext($this->controllerContext); $this->viewHelper->setRenderingContext($renderingContext); $this->viewHelper->_set('resourcePublisher', $this->resourcePublisher); }
/** * @param IssuerOrganization $issuerOrganization * @return array */ public function issuerOrganizationToArray(IssuerOrganization $issuerOrganization) { if ((string) $issuerOrganization->getImage() !== '') { if (strpos($issuerOrganization->getImage(), 'resource://') === 0) { $resourceViewHelper = new \TYPO3\Fluid\ViewHelpers\Uri\ResourceViewHelper(); $renderingContext = new \TYPO3\Fluid\Core\Rendering\RenderingContext(); $renderingContext->setControllerContext($this->controllerContext); $resourceViewHelper->setRenderingContext($renderingContext); $imageUri = $resourceViewHelper->render($issuerOrganization->getImage()); } else { $imageUri = $issuerOrganization->getImage(); } } else { $imageUri = NULL; } $result = array('name' => $issuerOrganization->getName(), 'description' => $issuerOrganization->getDescription(), 'email' => $issuerOrganization->getEmail(), 'url' => $issuerOrganization->getUrl()); if ($imageUri !== NULL) { $result['image'] = $imageUri; } return $result; }
/** * @test */ public function setRenderingContextShouldSetInnerVariables() { $templateVariableContainer = $this->getMock('TYPO3\\Fluid\\Core\\ViewHelper\\TemplateVariableContainer'); $viewHelperVariableContainer = $this->getMock('TYPO3\\Fluid\\Core\\ViewHelper\\ViewHelperVariableContainer'); $controllerContext = $this->getMock('TYPO3\\CMS\\Extbase\\Mvc\\Controller\\ControllerContext', array(), array(), '', FALSE); $renderingContext = new \TYPO3\Fluid\Core\Rendering\RenderingContext(); $renderingContext->injectTemplateVariableContainer($templateVariableContainer); $renderingContext->injectViewHelperVariableContainer($viewHelperVariableContainer); $renderingContext->setControllerContext($controllerContext); $viewHelper = $this->getAccessibleMock('TYPO3\\Fluid\\Core\\ViewHelper\\AbstractViewHelper', array('render', 'prepareArguments'), array(), '', FALSE); $viewHelper->setRenderingContext($renderingContext); $this->assertSame($viewHelper->_get('templateVariableContainer'), $templateVariableContainer); $this->assertSame($viewHelper->_get('viewHelperVariableContainer'), $viewHelperVariableContainer); $this->assertSame($viewHelper->_get('controllerContext'), $controllerContext); }
/** * Calls the ViewHelper, and emulates a rendering. * * @return void */ public function callViewHelper() { $viewHelperVariableContainer = $this->getMock(\TYPO3\Fluid\Core\ViewHelper\ViewHelperVariableContainer::class); $renderingContext = new \TYPO3\Fluid\Core\Rendering\RenderingContext(); $renderingContext->injectViewHelperVariableContainer($viewHelperVariableContainer); $this->viewHelper->setRenderingContext($renderingContext); $this->viewHelper->expects($this->any())->method('getWidgetConfiguration')->will($this->returnValue(array('Some Widget Configuration'))); $this->widgetContext->expects($this->once())->method('setNonAjaxWidgetConfiguration')->with(array('Some Widget Configuration')); $this->widgetContext->expects($this->once())->method('setWidgetIdentifier')->with(strtolower(str_replace('\\', '-', get_class($this->viewHelper)))); $this->viewHelper->_set('controller', new \stdClass()); $this->widgetContext->expects($this->once())->method('setControllerObjectName')->with('stdClass'); $this->viewHelper->expects($this->once())->method('validateArguments'); $this->viewHelper->expects($this->once())->method('initialize'); $this->viewHelper->expects($this->once())->method('callRenderMethod')->will($this->returnValue('renderedResult')); $output = $this->viewHelper->initializeArgumentsAndRender(array('arg1' => 'val1')); $this->assertEquals('renderedResult', $output); }
/** * Build the rendering context * * @param array $contextVariables * @return \TYPO3\Fluid\Core\Rendering\RenderingContext */ protected function buildRenderingContext(array $contextVariables) { $renderingContext = new \TYPO3\Fluid\Core\Rendering\RenderingContext(); $renderingContext->injectTemplateVariableContainer(new \TYPO3\Fluid\Core\ViewHelper\TemplateVariableContainer($contextVariables)); $renderingContext->injectViewHelperVariableContainer(new \TYPO3\Fluid\Core\ViewHelper\ViewHelperVariableContainer()); return $renderingContext; }
/** * Constructor hence we lack dependency injection */ public function __construct() { $this->templateContext = new \TYPO3\Fluid\View\ViewContext(); $renderingContext = new \TYPO3\Fluid\Core\Rendering\RenderingContext(); $renderingContext->injectTemplateVariableContainer(new \TYPO3\Fluid\Core\ViewHelper\TemplateVariableContainer()); $renderingContext->injectViewHelperVariableContainer(new \TYPO3\Fluid\Core\ViewHelper\ViewHelperVariableContainer()); $this->setRenderingContext($renderingContext); $this->injectTemplateParser(new \TYPO3\Fluid\Core\Parser\TemplateParser()); $this->initializeTemplateCompiler(); }
/** * @test */ public function setRenderingContextShouldSetInnerVariables() { $templateVariableContainer = $this->createMock(\TYPO3\Fluid\Core\ViewHelper\TemplateVariableContainer::class); $viewHelperVariableContainer = $this->createMock(\TYPO3\Fluid\Core\ViewHelper\ViewHelperVariableContainer::class); $controllerContext = $this->getMockBuilder(\TYPO3\Flow\Mvc\Controller\ControllerContext::class)->disableOriginalConstructor()->getMock(); $renderingContext = new \TYPO3\Fluid\Core\Rendering\RenderingContext(); $renderingContext->injectTemplateVariableContainer($templateVariableContainer); $renderingContext->injectViewHelperVariableContainer($viewHelperVariableContainer); $renderingContext->setControllerContext($controllerContext); $viewHelper = $this->getAccessibleMock(\TYPO3\Fluid\Core\ViewHelper\AbstractViewHelper::class, array('render', 'prepareArguments'), array(), '', false); $viewHelper->setRenderingContext($renderingContext); $this->assertSame($viewHelper->_get('templateVariableContainer'), $templateVariableContainer); $this->assertSame($viewHelper->_get('viewHelperVariableContainer'), $viewHelperVariableContainer); $this->assertSame($viewHelper->_get('controllerContext'), $controllerContext); }