/** * @test */ public function canSetDefaultValueFromCsvfAlreadyCorrectStrings() { $instance = Form::create(array())->createField('File', 'file'); $defaultValue = 'testfile1.jpg|testfile1.jpg,testfile2.jpg|testfile2.jpg'; $instance->setDefault($defaultValue); $this->assertSame($defaultValue, $instance->getDefault()); }
/** * @param array $arguments * @param \Closure $renderChildrenClosure * @param RenderingContextInterface $renderingContext * @return void */ public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext) { $viewHelperVariableContainer = $renderingContext->getViewHelperVariableContainer(); $templateVariableContainer = $renderingContext->getTemplateVariableContainer(); $extensionName = static::getExtensionNameFromRenderingContextOrArguments($renderingContext, $arguments); $form = Form::create(); $container = $form->last(); // configure Form instance $form->setId($arguments['id']); $form->setName($arguments['id']); $form->setLabel($arguments['label']); $form->setDescription($arguments['description']); $form->setEnabled($arguments['enabled']); $form->setCompact($arguments['compact']); $form->setExtensionName($extensionName); $form->setLocalLanguageFileRelativePath($arguments['localLanguageFileRelativePath']); $form->setVariables((array) $arguments['variables']); $form->setOptions((array) $arguments['options']); if (FALSE === $form->hasOption(Form::OPTION_ICON)) { $form->setOption(Form::OPTION_ICON, $arguments['icon']); } if (FALSE === $form->hasOption(Form::OPTION_GROUP)) { $form->setOption(Form::OPTION_GROUP, $arguments['wizardTab']); } // rendering child nodes with Form's last sheet as active container $viewHelperVariableContainer->addOrUpdate(static::SCOPE, static::SCOPE_VARIABLE_FORM, $form); $viewHelperVariableContainer->addOrUpdate(static::SCOPE, static::SCOPE_VARIABLE_EXTENSIONNAME, $extensionName); $templateVariableContainer->add(static::SCOPE_VARIABLE_FORM, $form); static::setContainerInRenderingContext($renderingContext, $container); $renderChildrenClosure(); $viewHelperVariableContainer->remove(static::SCOPE, static::SCOPE_VARIABLE_EXTENSIONNAME); $viewHelperVariableContainer->remove(static::SCOPE, static::SCOPE_VARIABLE_CONTAINER); $templateVariableContainer->remove(static::SCOPE_VARIABLE_CONTAINER); }
/** * Render method * @return void */ public function render() { $extensionName = $this->getExtensionName(); $form = Form::create(); $container = $form->last(); // configure Form instance $form->setId($this->arguments['id']); $form->setName($this->arguments['id']); $form->setLabel($this->arguments['label']); $form->setDescription($this->arguments['description']); $form->setEnabled($this->arguments['enabled']); $form->setCompact($this->arguments['compact']); $form->setExtensionName($extensionName); $form->setLocalLanguageFileRelativePath($this->arguments['localLanguageFileRelativePath']); $form->setVariables((array) $this->arguments['variables']); $form->setOptions((array) $this->arguments['options']); if (FALSE === $form->hasOption(Form::OPTION_ICON)) { $form->setOption(Form::OPTION_ICON, $this->arguments['icon']); } if (FALSE === $form->hasOption(Form::OPTION_GROUP)) { $form->setOption(Form::OPTION_GROUP, $this->arguments['wizardTab']); } // rendering child nodes with Form's last sheet as active container $this->viewHelperVariableContainer->addOrUpdate(self::SCOPE, self::SCOPE_VARIABLE_FORM, $form); $this->viewHelperVariableContainer->addOrUpdate(self::SCOPE, self::SCOPE_VARIABLE_EXTENSIONNAME, $extensionName); $this->templateVariableContainer->add(self::SCOPE_VARIABLE_FORM, $form); $this->setContainer($container); $this->renderChildren(); $this->viewHelperVariableContainer->remove(self::SCOPE, self::SCOPE_VARIABLE_EXTENSIONNAME); $this->viewHelperVariableContainer->remove(self::SCOPE, self::SCOPE_VARIABLE_CONTAINER); $this->templateVariableContainer->remove(self::SCOPE_VARIABLE_CONTAINER); }
/** * @return array */ public function getPostProcessBackendLayoutTestValues() { $form = Form::create(array('id' => 'formId')); /** @var Provider|\PHPUnit_Framework_MockObject_MockObject $standardProvider */ $standardProvider = $this->getMock('FluidTYPO3\\Flux\\Provider\\Provider', array('getControllerActionFromRecord', 'getForm')); $standardProvider->setTemplatePaths(array()); $standardProvider->expects($this->any())->method('getForm')->willReturn($form); $actionLessProvider = clone $standardProvider; $exceptionProvider = clone $standardProvider; $emptyGridProvider = clone $standardProvider; $gridProvider = clone $standardProvider; $actionLessProvider->expects($this->any())->method('getControllerActionFromRecord')->willReturn(null); $exceptionProvider->expects($this->any())->method('getControllerActionFromRecord')->willThrowException(new \RuntimeException()); /** @var Grid $grid */ $grid = Grid::create(); $grid->setParent($form); $emptyGridProvider->setGrid($grid); $emptyGridProvider->expects($this->any())->method('getControllerActionFromRecord')->willReturn('default'); /** @var Grid $grid */ $grid = Grid::create(array()); $grid->setParent($form); $grid->createContainer('Row', 'row')->createContainer('Column', 'column')->setColSpan(3)->setRowSpan(3)->setColumnPosition(2); $gridProvider->setGrid($grid); $gridProvider->expects($this->any())->method('getControllerActionFromRecord')->willReturn('default'); $gridArray = array('__config' => array('backend_layout.' => array('colCount' => 3, 'rowCount' => 1, 'rows.' => array('1.' => array('columns.' => array('1.' => array('name' => 'LLL:EXT:flux/Resources/Private/Language/locallang.xlf:flux.formId.columns.column', 'colPos' => 2, 'colspan' => 3, 'rowspan' => 3)))))), '__colPosList' => array(2), '__items' => array(array('LLL:EXT:flux/Resources/Private/Language/locallang.xlf:flux.formId.columns.column', 2, null))); return array(array($standardProvider, null, 'message', 0, array()), array($standardProvider, array(), 'message', 1, array()), array($actionLessProvider, array(), 'message', 1, array()), array($emptyGridProvider, array(), 'message', 1, array()), array($exceptionProvider, array(), 'debug', 1, array()), array($gridProvider, array(), 'message', 0, $gridArray)); }
/** * @test * @dataProvider getValuesAndTransformations * @param mixed $value * @param string $transformation * @param mixed $expected */ public function testTransformation($value, $transformation, $expected) { $instance = $this->createInstance(); $form = Form::create(); $form->createField('Input', 'field')->setTransform($transformation); $transformed = $instance->transformAccordingToConfiguration(array('field' => $value), $form); $this->assertTrue($transformed !== $expected, 'Transformation type ' . $transformation . ' failed; values are still identical'); }
/** * @dataProvider getFormTestValues * @param array $record */ public function testGetForm(array $record) { $instance = $this->getMock('FluidTYPO3\\FluidcontentCore\\Provider\\CoreContentProvider', array('resolveFormClassName', 'setDefaultValuesInFieldsWithInheritedValues')); $form = Form::create(); $instance->setForm($form); $result = $instance->getForm($record); $this->assertInstanceOf('FluidTYPO3\\Flux\\Form', $result); }
/** * @test */ public function modifyModifiesFields() { $form = Form::create(); $sheet = $form->createContainer('Sheet', 'testsheet'); $field = $sheet->createField('Input', 'testfield', 'Testfield'); $sheet->modify(array('fields' => array('testfield' => array('label' => 'Test')))); $fields = $sheet->getFields(); $this->assertEquals('Test', reset($fields)->getLabel()); }
/** * @test */ public function triggersDomainModelAnalysisWhenFormsAreRegistered() { $class = 'FluidTYPO3\\Flux\\Domain\\Model\\Dummy'; $form = Form::create(); Core::registerAutoFormForModelObjectClassName($class); $object = GeneralUtility::getUserObj('FluidTYPO3\\Flux\\Backend\\TableConfigurationPostProcessor'); $object->processData(); Core::registerFormForModelObjectClassName($class, $form); $object->processData(); }
/** * @return void */ public function testDetectAndRegisterAllFluidBackendModules() { $form = Form::create(); $instance = $this->getMock('FluidTYPO3\\Fluidbackend\\Service\\ConfigurationService', array('getBackendModuleTemplatePaths', 'getFormFromTemplateFile', 'registerModuleBasedOnFluxForm')); $paths = new TemplatePaths('FluidTYPO3.Fluidbackend'); $instance->expects($this->once())->method('getBackendModuleTemplatePaths')->willReturn(array('FluidTYPO3.Fluidbackend' => $paths->toArray())); $instance->expects($this->atLeastOnce())->method('registerModuleBasedOnFluxForm'); $instance->expects($this->atLeastOnce())->method('getFormFromTemplateFile')->willReturn($form); $instance->detectAndRegisterAllFluidBackendModules(); }
/** * @test * @dataProvider getValuesAndTransformations * @param mixed $value * @param string $transformation * @param mixed $expected */ public function testTransformation($value, $transformation, $expected) { $instance = $this->getMock('FluidTYPO3\\Flux\\Transformation\\FormDataTransformer', array('loadObjectsFromRepository')); $instance->expects($this->any())->method('loadObjectsFromRepository')->willReturn(array()); $instance->injectObjectManager($this->objectManager); $form = Form::create(); $form->createField('Input', 'field')->setTransform($transformation); $transformed = $instance->transformAccordingToConfiguration(array('field' => $value), $form); $this->assertTrue($transformed !== $expected, 'Transformation type ' . $transformation . ' failed; values are still identical'); }
/** * @test */ public function testRender() { $GLOBALS['TYPO3_CONF_VARS']['SYS']['formEngine']['nodeRegistry'] = array(); $GLOBALS['TYPO3_CONF_VARS']['SYS']['formEngine']['nodeResolver'] = array(); $form = Form::create(); $nodeFactory = $this->getMock(NodeFactory::class, array('create')); $nodeFactory->expects($this->once())->method('create')->willReturn($this->getMock(NodeInterface::class)); $instance = $this->getMock($this->createInstanceClassName(), array('getNodeFactory')); $instance->expects($this->once())->method('getNodeFactory')->willReturn($nodeFactory); $instance->render($form); }
public function testRenderWizardTabItem() { $form = Form::create(); $form->setLabel('bazlabel'); $form->setDescription('foobar'); $service = $this->getMock('FluidTYPO3\\Fluidcontent\\Service\\ConfigurationService', array(), array(), '', FALSE); $result = $this->callInaccessibleMethod($service, 'buildWizardTabItem', 'tabid', 'id', $form, ''); $this->assertContains('tabid.elements.id', $result); $this->assertContains('title = bazlabel', $result); $this->assertContains('description = foobar', $result); }
/** * @test */ public function testRender() { $form = Form::create(); $engine = $this->getMock('TYPO3\\CMS\\Backend\\Form\\FormEngine', array('printNeededJSFunctions_top', 'getSoloField', 'printNeededJSFunctions'), array(), '', FALSE); $engine->expects($this->once())->method('printNeededJSFunctions_top')->willReturn('1'); $engine->expects($this->once())->method('getSoloField')->willReturn('2'); $engine->expects($this->once())->method('printNeededJSFunctions')->willReturn('3'); $instance = $this->getMock($this->createInstanceClassName(), array('getFormEngine')); $instance->expects($this->once())->method('getFormEngine')->willReturn($engine); $result = $instance->render($form); $this->assertEquals('123', $result); }
/** * @return Form */ protected function getForm() { if (TRUE === $this->viewHelperVariableContainer->exists(self::SCOPE, self::SCOPE_VARIABLE_FORM)) { $form = $this->viewHelperVariableContainer->get(self::SCOPE, self::SCOPE_VARIABLE_FORM); } elseif (TRUE === $this->templateVariableContainer->exists(self::SCOPE_VARIABLE_FORM)) { $form = $this->templateVariableContainer->get(self::SCOPE_VARIABLE_FORM); } else { $form = Form::create(); $this->viewHelperVariableContainer->add(self::SCOPE, self::SCOPE_VARIABLE_FORM, $form); } return $form; }
/** * @test */ public function triggersDomainModelAnalysisWhenFormsAreRegistered() { $class = 'FluidTYPO3\\Flux\\Tests\\Fixtures\\Classes\\Domain\\Model\\Dummy'; $form = Form::create(); $form->setExtensionName('FluidTYPO3.Flux'); Core::registerAutoFormForModelObjectClassName($class); $object = GeneralUtility::getUserObj('FluidTYPO3\\Flux\\Backend\\TableConfigurationPostProcessor'); $object->processData(); Core::registerFormForModelObjectClassName($class, $form); $result = $object->processData(); $this->assertEmpty($result); }
/** * @test */ public function triggersContentManipulatorOnDatabaseOperationNew() { $row = Records::$contentRecordWithoutParentAndWithoutChildren; $form = Form::create(); $provider = $this->getMock('FluidTYPO3\\Flux\\Provider\\ContentProvider', array('loadRecordFromDatabase', 'getForm')); $provider->expects($this->once())->method('loadRecordFromDatabase')->willReturn(array('foo' => 'bar')); $provider->expects($this->once())->method('getForm')->willReturn($form); /** @var DataHandler $tceMain */ $tceMain = GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\DataHandling\\DataHandler'); $result = $provider->postProcessDatabaseOperation('new', $row['uid'], $row, $tceMain); $this->assertEmpty($result); }
/** * @return array */ public function getAddSubIconTestValues() { $formWithoutIcon = Form::create(); $formWithIcon = Form::create(array('options' => array('icon' => 'icon'))); $providerWithoutForm = $this->getMock('FluidTYPO3\\Flux\\Provider\\Provider', array('getForm')); $providerWithoutForm->expects($this->any())->method('getForm')->willReturn(NULL); $providerWithFormWithoutIcon = $this->getMock('FluidTYPO3\\Flux\\Provider\\Provider', array('getForm')); $providerWithFormWithoutIcon->expects($this->any())->method('getForm')->willReturn($formWithoutIcon); $providerWithFormWithIcon = $this->getMock('FluidTYPO3\\Flux\\Provider\\Provider', array('getForm')); $providerWithFormWithIcon->expects($this->any())->method('getForm')->willReturn($formWithIcon); return array(array(array('pages', 1, array()), NULL, NULL), array(array('tt_content', 1, array()), NULL, NULL), array(array('tt_content', 1, array()), $providerWithoutForm, NULL), array(array('tt_content', 1, array('field' => 'test')), $providerWithoutForm, NULL), array(array('tt_content', 1, array('field' => 'test')), $providerWithFormWithoutIcon, NULL), array(array('tt_content', 1, array('field' => 'test')), $providerWithFormWithIcon, 'icon')); }
/** * @test */ public function testGetCurrentOutlet() { $GLOBALS['TYPO3_DB'] = $this->getMock('TYPO3\\CMS\\Core\\Database\\DatabaseConnection', array('exec_SELECTquery', 'sql_fetch_assoc', 'exec_INSERTquery')); $form = Form::create(); $request = new Request(); $provider = $this->getMock('FluidTYPO3\\Flux\\Provider\\Provider', array('getForm')); $provider->expects($this->once())->method('getForm')->willReturn($form); $instance = $this->getMockForAbstractClass('FluidTYPO3\\Fluidbackend\\Controller\\AbstractBackendController'); $this->inject($instance, 'provider', $provider); $this->inject($instance, 'request', $request); $result = $this->callInaccessibleMethod($instance, 'getCurrentOutlet'); $this->assertInstanceOf('FluidTYPO3\\Flux\\Outlet\\OutletInterface', $result); }
/** * @return void */ public function testRenderFieldCreatesExpectedOptions() { $configurationService = $this->getMock('FluidTYPO3\\Fluidcontent\\Service\\ConfigurationService', array('getContentElementFormInstances')); $forms = array('myextension' => array(Form::create(array('id' => 'test1', 'label' => 'Test1', 'options' => array('contentElementId' => 'test1'))), Form::create(array('id' => 'test2', 'label' => 'Test2', 'options' => array('contentElementId' => 'test2'))))); $parameters = array('itemFormElName' => 'foobar', 'itemFormElValue' => 'test2'); $parent = 'unused'; $configurationService->expects($this->once())->method('getContentElementFormInstances')->willReturn($forms); $instance = $this->getMock('FluidTYPO3\\Fluidcontent\\Backend\\ContentSelector', array('getConfigurationService')); $instance->expects($this->once())->method('getConfigurationService')->willReturn($configurationService); $rendered = $instance->renderField($parameters, $parent); $this->assertContains('<optgroup label="myextension">', $rendered); $this->assertContains('<option', $rendered); $this->assertContains('value="test1"', $rendered); $this->assertContains('value="test2"', $rendered); }
/** * @test * @dataProvider getPreviewTestOptions * @param array $options * @param string $finalAssertionMethod * @return void */ public function rendersPreviews(array $options, $finalAssertionMethod) { $provider = $this->objectManager->get('FluidTYPO3\\Flux\\Provider\\Provider'); $form = Form::create(array('name' => 'test', 'options' => array('preview' => $options))); $grid = Form\Container\Grid::create(array()); $grid->createContainer('Row', 'row')->createContainer('Column', 'column'); $provider->setGrid($grid); $provider->setForm($form); $provider->setTemplatePaths(array()); $provider->setTemplatePathAndFilename($this->getAbsoluteFixtureTemplatePathAndFilename(self::FIXTURE_TEMPLATE_PREVIEW)); $previewView = $this->getMock($this->createInstanceClassName(), array('registerTargetContentAreaInSession')); $previewView->expects($this->any())->method('registerTargetContentAreaInSession'); $previewView->injectConfigurationService($this->objectManager->get('FluidTYPO3\\Flux\\Service\\FluxService')); $previewView->injectConfigurationManager($this->objectManager->get('TYPO3\\CMS\\Extbase\\Configuration\\ConfigurationManager')); $previewView->injectWorkspacesAwareRecordService($this->objectManager->get('FluidTYPO3\\Flux\\Service\\WorkspacesAwareRecordService')); $preview = $previewView->getPreview($provider, Records::$contentRecordIsParentAndHasChildren); $this->{$finalAssertionMethod}($preview); }
/** * @param string $class * @param string $table * @return Form */ public function generateFormInstanceFromClassName($class, $table) { $labelFields = AnnotationUtility::getAnnotationValueFromClass($class, 'Flux\\Label', FALSE); $iconAnnotation = AnnotationUtility::getAnnotationValueFromClass($class, 'Flux\\Icon'); $extensionName = $this->getExtensionNameFromModelClassName($class); $values = AnnotationUtility::getAnnotationValueFromClass($class, 'Flux\\Form\\Field', FALSE); $sheets = AnnotationUtility::getAnnotationValueFromClass($class, 'Flux\\Form\\Sheet', FALSE); $labels = TRUE === is_array($labelFields) ? array_keys($labelFields) : array(key($values)); foreach ($labels as $index => $labelField) { $labels[$index] = GeneralUtility::camelCaseToLowerCaseUnderscored($labelField); } $icon = TRUE === isset($iconAnnotation['config']['path']) ? $iconAnnotation['config']['path'] : 'ext_icon.png'; $hasVisibilityToggle = (bool) AnnotationUtility::getAnnotationValueFromClass($class, 'Flux\\Control\\Hide'); $hasDeleteToggle = (bool) AnnotationUtility::getAnnotationValueFromClass($class, 'Flux\\Control\\Delete'); $hasStartTimeToggle = (bool) AnnotationUtility::getAnnotationValueFromClass($class, 'Flux\\Control\\StartTime'); $hasEndTimeToggle = (bool) AnnotationUtility::getAnnotationValueFromClass($class, 'Flux\\Control\\EndTime'); $hasFrontendGroupToggle = (bool) AnnotationUtility::getAnnotationValueFromClass($class, 'Flux\\Control\\FrontendUserGroup'); $form = Form::create(); $form->setName($table); $form->setExtensionName($extensionName); $form->setOption('labels', $labels); $form->setOption('delete', $hasDeleteToggle); $form->setOption('hide', $hasVisibilityToggle); $form->setOption('start', $hasStartTimeToggle); $form->setOption('end', $hasEndTimeToggle); $form->setOption(Form::OPTION_ICON, $icon); $form->setOption('frontendUserGroup', $hasFrontendGroupToggle); $fields = array(); foreach ($sheets as $propertyName => $sheetAnnotation) { $sheetName = $sheetAnnotation['type']; if (FALSE === isset($fields[$sheetName])) { $fields[$sheetName] = array(); } array_push($fields[$sheetName], $propertyName); } foreach ($fields as $sheetName => $propertyNames) { $form->remove($sheetName); $sheet = $form->createContainer('Sheet', $sheetName); foreach ($propertyNames as $propertyName) { $settings = $values[$propertyName]; $propertyName = GeneralUtility::camelCaseToLowerCaseUnderscored($propertyName); if (TRUE === isset($settings['type'])) { $fieldType = implode('/', array_map('ucfirst', explode('.', $settings['type']))); $field = $sheet->createField($fieldType, $propertyName); foreach ($settings['config'] as $settingName => $settingValue) { ObjectAccess::setProperty($field, $settingName, $settingValue); } } } } return $form; }
/** * @param array $settings * @return void */ public function loadSettings(array $settings) { if (TRUE === isset($settings['name'])) { $this->setName($settings['name']); } if (TRUE === isset($settings['form'])) { $form = Form::create($settings['form']); if (TRUE === isset($settings['extensionKey'])) { $extensionKey = $settings['extensionKey']; $extensionName = ExtensionNamingUtility::getExtensionName($extensionKey); $form->setExtensionName($extensionName); } $settings['form'] = $form; } if (TRUE === isset($settings['grid'])) { $settings['grid'] = Grid::create($settings['grid']); } foreach ($settings as $name => $value) { $this->{$name} = $value; } $fieldName = $this->getFieldName(array()); if (TRUE === isset($settings['listType'])) { $listType = $settings['listType']; $GLOBALS['TCA'][$this->tableName]['types']['list']['subtypes_addlist'][$listType] = $fieldName; } $GLOBALS['TCA'][$this->tableName]['columns'][$fieldName]['config']['type'] = 'flex'; }
/** * @return array */ public function getConvertFlexFormContentToArrayTestValues() { return array(array('', NULL, '', '', array()), array('', Form::create(), '', '', array()), array(Xml::SIMPLE_FLEXFORM_SOURCE_DEFAULT_SHEET_ONE_FIELD, Form::create(), '', '', array('settings' => array('input' => 0)))); }
/** * @test */ public function canSetForm() { $form = Form::create(array('name' => 'test')); $record = Records::$contentRecordWithoutParentAndWithoutChildren; $provider = $this->getConfigurationProviderInstance(); $provider->setForm($form); $this->assertSame($form, $provider->getForm($record)); }
/** * @test */ public function canGetGridWhenItDoesNotExistAndStorageDoesNotExist() { $form = Form::create(); $instance = $this->createMockedInstanceForVariableContainerTests(); ObjectAccess::getProperty($instance, 'viewHelperVariableContainer', TRUE)->expects($this->any())->method('exists')->will($this->returnValue(FALSE)); ObjectAccess::getProperty($instance, 'templateVariableContainer', TRUE)->expects($this->any())->method('exists')->will($this->returnValue(TRUE)); ObjectAccess::getProperty($instance, 'templateVariableContainer', TRUE)->expects($this->any())->method('get')->will($this->returnValue($form)); $output = $this->callInaccessibleMethod($instance, 'getGrid'); $this->assertInstanceOf('FluidTYPO3\\Flux\\Form\\Container\\Grid', $output); }
/** * @test */ public function canGenerateLocalisableLabel() { $instance = $this->createInstance(); $instance->setLabel(NULL); $instance->setExtensionName('Flux'); /** @var Form $form */ $instance->setName('testFormId'); $form = Form::create(array('name' => 'test', 'extensionName' => 'flux')); $form->add($instance); $label = $instance->getLabel(); $this->assertContains('switchableControllerActions', $label); $this->assertStringStartsWith('LLL:EXT:flux/Resources/Private/Language/locallang.xlf:flux', $label); }
/** * @test */ public function canSetAndGetOutlet() { /** @var \FluidTYPO3\Flux\Outlet\StandardOutlet $outlet */ $outlet = $this->getMock('FluidTYPO3\\Flux\\Outlet\\StandardOutlet'); $form = Form::create(); $form->setOutlet($outlet); $this->assertSame($outlet, $form->getOutlet()); }
/** * @param array $row * @return \FluidTYPO3\Flux\Form|NULL */ public function getForm(array $row) { if (TRUE === $this->isUsingSubFieldName()) { $configuration = $this->pageService->getPageTemplateConfiguration($row['uid']); if ($configuration[$this->mainAction] === $configuration[$this->subAction]) { $form = Form::create(); $form->createField('UserFunction', '')->setFunction('FluidTYPO3\\Fluidpages\\UserFunction\\NoSubPageConfiguration->renderField'); return $form; } } return parent::getForm($row); }
/** * @test */ public function canGetMergedConfigurationAndMergeToCache() { $form = Form::create(); $form->createContainer('Grid', 'grid'); $form->createField('Input', 'test'); $form->createContainer('Object', 'testobject'); $record = $this->getBasicRecord(); $tree = array($record); $instance = $this->getMock(substr(get_class($this), 0, -4), array('getForm', 'getFlexFormValues', 'hasCacheForMergedConfiguration')); $instance->reset(); $instance->expects($this->once())->method('getForm')->will($this->returnValue($form)); $instance->expects($this->once())->method('hasCacheForMergedConfiguration')->will($this->returnValue(TRUE)); $this->callInaccessibleMethod($instance, 'getMergedConfiguration', $tree, 'testing', TRUE); }
/** * @test */ public function canGetRegisteredFormsForModelClassNames() { $fakeClass = 'MyFakeClass'; $form = Form::create(); Core::registerFormForModelObjectClassName($fakeClass, $form); $this->assertSame($form, Core::getRegisteredFormForModelObjectClass($fakeClass)); $this->assertContains($form, Core::getRegisteredFormsForModelObjectClasses()); Core::unregisterFormForModelObjectClassName($fakeClass); }