Registers a Form instance to use when TCA for a model object class/table is requested.
public static registerFormForModelObjectClassName ( string $className, |
||
$className | string | |
$form | ||
return | void |
/** * @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 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(); }
/** * @test */ public function registerFormForModelObjectClassNameSetsExtensionNameFromExtensionKeyGlobal() { $GLOBALS['_EXTKEY'] = 'test'; $form = $this->getMock('FluidTYPO3\\Flux\\Form', array('setExtensionName')); $form->expects($this->once())->method('setExtensionName')->with('Test'); Core::registerFormForModelObjectClassName('FooBar', $form); unset($GLOBALS['_EXTKEY']); }
/** * @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); }
/** * @test */ public function triggersDomainModelAnalysisWhenFormsAreRegistered() { $class = 'FluidTYPO3\\Flux\\Domain\\Model\\Dummy'; if ('6.2' !== substr(TYPO3_version, 0, 3)) { // note: mock contains a DateTime which has a constructor argument which ObjectManager tries to reflect; // causing an ReflectionException. Problem is suppressed on 6.2 only, at the time of writing this comment. $this->setExpectedException('ReflectionException'); } $form = Form::create(); Core::registerAutoFormForModelObjectClassName($class); $object = GeneralUtility::getUserObj('FluidTYPO3\\Flux\\Backend\\TableConfigurationPostProcessor'); $object->processData(); Core::registerFormForModelObjectClassName($class, $form); $object->processData(); }