/** * @param ViewHelperVariableContainer $viewHelperVariableContainer * @param string $formClassName * @return DomainObjectInterface|NULL */ protected static function getFormObject($viewHelperVariableContainer, $formClassName = FormViewHelper::class) { if (true === $viewHelperVariableContainer->exists($formClassName, 'formObject')) { return $viewHelperVariableContainer->get($formClassName, 'formObject'); } if (self::ALTERNATE_FORM_VIEWHELPER_CLASSNAME !== $formClassName) { return self::getFormObject($viewHelperVariableContainer, self::ALTERNATE_FORM_VIEWHELPER_CLASSNAME); } return null; }
/** * @dataProvider getRenderTestValues * @param array $arguments * @param mixed $selectedValue * @param mixed $content * @param string $expected */ public function testRender(array $arguments, $selectedValue, $content, $expected) { $instance = $this->buildViewHelperInstance($arguments, array(), NULL, 'Vhs'); $viewHelperVariableContainer = new ViewHelperVariableContainer(); $viewHelperVariableContainer->add('FluidTYPO3\\Vhs\\ViewHelpers\\Form\\SelectViewHelper', 'options', array()); $viewHelperVariableContainer->add('FluidTYPO3\\Vhs\\ViewHelpers\\Form\\SelectViewHelper', 'value', $selectedValue); ObjectAccess::setProperty($instance, 'viewHelperVariableContainer', $viewHelperVariableContainer, TRUE); $instance->setArguments($arguments); $instance->setRenderChildrenClosure(function () use($content) { return $content; }); $result = $instance->render(); $this->assertEquals($expected, $result); }
/** * @dataProvider getRenderTestValues * @param array $arguments * @param string|NULL $prefix * @param string|NULL $objectName * @param array|NULL $names * @param string $expected */ public function testRender(array $arguments, $prefix, $objectName, $names, $expected) { $instance = $this->buildViewHelperInstance($arguments, array(), NULL, 'Vhs'); $viewHelperVariableContainer = new ViewHelperVariableContainer(); if (NULL !== $objectName) { $viewHelperVariableContainer->add('TYPO3\\CMS\\Fluid\\ViewHelpers\\FormViewHelper', 'formObjectName', $objectName); } if (NULL !== $prefix) { $viewHelperVariableContainer->add('TYPO3\\CMS\\Fluid\\ViewHelpers\\FormViewHelper', 'fieldNamePrefix', $prefix); } if (NULL !== $names) { $viewHelperVariableContainer->add('TYPO3\\CMS\\Fluid\\ViewHelpers\\FormViewHelper', 'formFieldNames', $names); } ObjectAccess::setProperty($instance, 'viewHelperVariableContainer', $viewHelperVariableContainer, TRUE); $instance->setArguments($arguments); $result = $instance->render(); $this->assertEquals($expected, $result); }
/** * @test */ public function viewIsPlacedInViewHelperVariableContainer() { $this->viewHelperVariableContainer->expects($this->once())->method('setView')->with($this->view); $this->view->setRenderingContext($this->renderingContext); }
/** * @test */ public function existsReturnsTrueIfTheSpecifiedKeyExistsAndIsNull() { $this->viewHelperVariableContainer->add('TYPO3\\Fluid\\ViewHelper\\NonExistent', 'someKey', null); $this->assertTrue($this->viewHelperVariableContainer->exists('TYPO3\\Fluid\\ViewHelper\\NonExistent', 'someKey')); }
/** * @param ViewHelperVariableContainer $viewHelperVariableContainer * @param string $formClassName * @return DomainObjectInterface|NULL */ protected static function getFormObject($viewHelperVariableContainer, $formClassName = 'Tx_Fluid_ViewHelpers_FormViewHelper') { if (TRUE === $viewHelperVariableContainer->exists($formClassName, 'formObject')) { return $viewHelperVariableContainer->get($formClassName, 'formObject'); } if (self::ALTERNATE_FORM_VIEWHELPER_CLASSNAME !== $formClassName) { return self::getFormObject($viewHelperVariableContainer, self::ALTERNATE_FORM_VIEWHELPER_CLASSNAME); } return NULL; }
/** * @test */ public function viewCanBeReadOutAgain() { $view = $this->getMock('TYPO3\\CMS\\Fluid\\View\\AbstractTemplateView', array('getTemplateSource', 'getLayoutSource', 'getPartialSource', 'hasTemplate', 'canRender', 'getTemplateIdentifier', 'getLayoutIdentifier', 'getPartialIdentifier')); $this->viewHelperVariableContainer->setView($view); $this->assertSame($view, $this->viewHelperVariableContainer->getView()); }