/**
  * @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;
 }
Example #2
0
 /**
  * @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());
 }