2 namespace TYPO3\CMS\Backend\Tests\Unit\Form\FormDataProvider;
17 use TYPO3\CMS\Core\Tests\UnitTestCase;
40 'foreign_table' =>
'aForeignTableName',
44 'localizationMode' =>
'none',
47 'levelLinksPosition' =>
'top',
48 'showPossibleLocalizationRecords' =>
false,
49 'showRemovedLocalizationRecords' =>
false,
50 'enabledControls' => [
79 $this->setExpectedException(\UnexpectedValueException::class, $this->anything(), 1443793404);
80 $this->subject->addData($input);
94 'foreign_table' =>
'aForeignTableName',
101 $this->assertEquals($expected, $this->subject->addData($input));
115 'foreign_table' =>
'aForeignTableName',
123 $expected[
'processedTca'][
'columns'][
'aField'][
'config'][
'minitems'] = 23;
124 $this->assertEquals($expected, $this->subject->addData($input));
138 'foreign_table' =>
'aForeignTableName',
146 $expected[
'processedTca'][
'columns'][
'aField'][
'config'][
'minitems'] = 0;
147 $this->assertEquals($expected, $this->subject->addData($input));
161 'foreign_table' =>
'aForeignTableName',
169 $expected[
'processedTca'][
'columns'][
'aField'][
'config'][
'maxitems'] = 23;
170 $this->assertEquals($expected, $this->subject->addData($input));
184 'foreign_table' =>
'aForeignTableName',
192 $expected[
'processedTca'][
'columns'][
'aField'][
'config'][
'maxitems'] = 1;
193 $this->assertEquals($expected, $this->subject->addData($input));
202 'defaultLanguageRow' => [],
208 'foreign_table' =>
'aForeignTableName',
210 'localizationMode' =>
'foo',
217 $this->setExpectedException(\UnexpectedValueException::class, $this->anything(), 1443829370);
218 $this->subject->addData($input);
227 'defaultLanguageRow' => [],
233 'foreign_table' =>
'aForeignTableName',
235 'localizationMode' =>
'select',
243 $this->setExpectedException(\UnexpectedValueException::class, $this->anything(), 1443944274);
244 $this->subject->addData($input);
253 'defaultLanguageRow' => [],
259 'foreign_table' =>
'aForeignTableName',
261 'localizationMode' =>
'select',
268 $GLOBALS[
'TCA'][
'aForeignTableName'][
'ctrl'] = [
269 'languageField' =>
'theLanguageField',
270 'transOrigPointerField' =>
'theTransOrigPointerField',
274 $expected[
'processedTca'][
'columns'][
'aField'][
'config'][
'behaviour'][
'localizationMode'] =
'select';
275 $this->assertEquals($expected, $this->subject->addData($input));
284 'defaultLanguageRow' => [],
290 'foreign_table' =>
'aForeignTableName',
292 'localizationMode' =>
'keep',
301 $expected[
'processedTca'][
'columns'][
'aField'][
'config'][
'behaviour'][
'localizationMode'] =
'keep';
302 $this->assertEquals($expected, $this->subject->addData($input));
311 'defaultLanguageRow' => [],
317 'foreign_table' =>
'aForeignTableName',
325 $expected[
'processedTca'][
'columns'][
'aField'][
'config'][
'behaviour'][
'localizationMode'] =
'none';
326 $this->assertEquals($expected, $this->subject->addData($input));
335 'defaultLanguageRow' => [],
341 'foreign_table' =>
'aForeignTableName',
347 $GLOBALS[
'TCA'][
'aForeignTableName'][
'ctrl'] = [
348 'languageField' =>
'theLanguageField',
349 'transOrigPointerField' =>
'theTransOrigPointerField',
353 $expected[
'processedTca'][
'columns'][
'aField'][
'config'][
'behaviour'][
'localizationMode'] =
'select';
354 $this->assertEquals($expected, $this->subject->addData($input));
368 'foreign_table' =>
'aForeignTableName',
370 'levelLinksPosition' =>
'both',
371 'enabledControls' => [
381 $expected[
'processedTca'][
'columns'][
'aField'][
'config'][
'appearance'][
'levelLinksPosition'] =
'both';
382 $expected[
'processedTca'][
'columns'][
'aField'][
'config'][
'appearance'][
'enabledControls'][
'dragdrop'] =
false;
383 $this->assertEquals($expected, $this->subject->addData($input));
397 'foreign_table' =>
'aForeignTableName',
398 'foreign_selector' =>
'aField',
400 'levelLinksPosition' =>
'both',
407 $GLOBALS[
'TCA'][
'aForeignTableName'][
'columns'][
'aField'][
'config'] = [
409 'foreign_table' =>
'anotherForeignTableName',
412 $expected[
'processedTca'][
'columns'][
'aField'][
'config'][
'foreign_selector'] =
'aField';
413 $expected[
'processedTca'][
'columns'][
'aField'][
'config'][
'selectorOrUniqueConfiguration'] = [
414 'fieldName' =>
'aField',
415 'isSelector' =>
true,
419 'foreign_table' =>
'anotherForeignTableName',
421 'foreignTable' =>
'anotherForeignTableName',
423 $expected[
'processedTca'][
'columns'][
'aField'][
'config'][
'appearance'][
'levelLinksPosition'] =
'none';
424 $this->assertEquals($expected, $this->subject->addData($input));
438 'foreign_table' =>
'aForeignTableName',
439 'foreign_selector' =>
'aField',
441 'useCombination' =>
true,
442 'levelLinksPosition' =>
'both',
449 $GLOBALS[
'TCA'][
'aForeignTableName'][
'columns'][
'aField'][
'config'] = [
451 'foreign_table' =>
'anotherForeignTableName',
454 $expected[
'processedTca'][
'columns'][
'aField'][
'config'][
'foreign_selector'] =
'aField';
455 $expected[
'processedTca'][
'columns'][
'aField'][
'config'][
'selectorOrUniqueConfiguration'] = [
456 'fieldName' =>
'aField',
457 'isSelector' =>
true,
461 'foreign_table' =>
'anotherForeignTableName',
463 'foreignTable' =>
'anotherForeignTableName',
465 $expected[
'processedTca'][
'columns'][
'aField'][
'config'][
'appearance'][
'useCombination'] =
true;
466 $expected[
'processedTca'][
'columns'][
'aField'][
'config'][
'appearance'][
'levelLinksPosition'] =
'both';
467 $this->assertEquals($expected, $this->subject->addData($input));
481 'foreign_table' =>
'aForeignTableName',
483 'showPossibleLocalizationRecords' =>
'1',
491 $expected[
'processedTca'][
'columns'][
'aField'][
'config'][
'appearance'][
'showPossibleLocalizationRecords'] =
true;
492 $this->assertEquals($expected, $this->subject->addData($input));
506 'foreign_table' =>
'aForeignTableName',
508 'showPossibleLocalizationRecords' => 0,
516 $expected[
'processedTca'][
'columns'][
'aField'][
'config'][
'appearance'][
'showPossibleLocalizationRecords'] =
false;
517 $this->assertEquals($expected, $this->subject->addData($input));
531 'foreign_table' =>
'aForeignTableName',
533 'showRemovedLocalizationRecords' => 1,
541 $expected[
'processedTca'][
'columns'][
'aField'][
'config'][
'appearance'][
'showRemovedLocalizationRecords'] =
true;
542 $this->assertEquals($expected, $this->subject->addData($input));
556 'foreign_table' =>
'aForeignTableName',
558 'showRemovedLocalizationRecords' =>
'',
566 $expected[
'processedTca'][
'columns'][
'aField'][
'config'][
'appearance'][
'showRemovedLocalizationRecords'] =
false;
567 $this->assertEquals($expected, $this->subject->addData($input));
581 'foreign_table' =>
'aForeignTableName',
582 'foreign_selector' =>
'aField',
583 'foreign_unique' =>
'aDifferentField',
589 $this->setExpectedException(\UnexpectedValueException::class, $this->anything(), 1444995464);
590 $this->subject->addData($input);
604 'foreign_table' =>
'aForeignTableName',
605 'foreign_selector' =>
'aField',
611 $this->setExpectedException(\UnexpectedValueException::class, $this->anything(), 1444996537);
612 $this->subject->addData($input);
626 'foreign_table' =>
'aForeignTableName',
627 'foreign_unique' =>
'aField',
633 $this->setExpectedException(\UnexpectedValueException::class, $this->anything(), 1444996537);
634 $this->subject->addData($input);
648 'foreign_table' =>
'aForeignTableName',
649 'foreign_unique' =>
'aField',
655 $GLOBALS[
'TCA'][
'aForeignTableName'][
'columns'][
'aField'][
'config'] = [
656 'type' =>
'notSelectOrGroup',
658 $this->setExpectedException(\UnexpectedValueException::class, $this->anything(), 1444996537);
659 $this->subject->addData($input);
673 'foreign_table' =>
'aForeignTableName',
674 'foreign_unique' =>
'aField',
680 $GLOBALS[
'TCA'][
'aForeignTableName'][
'columns'][
'aField'][
'config'] = [
682 'internal_type' =>
'notDb'
684 $this->setExpectedException(\UnexpectedValueException::class, $this->anything(), 1444999130);
685 $this->subject->addData($input);
699 'foreign_table' =>
'aForeignTableName',
700 'foreign_unique' =>
'aField',
706 $GLOBALS[
'TCA'][
'aForeignTableName'][
'columns'][
'aField'][
'config'] = [
709 $this->setExpectedException(\UnexpectedValueException::class, $this->anything(), 1445078627);
710 $this->subject->addData($input);
724 'foreign_table' =>
'aForeignTableName',
725 'foreign_unique' =>
'aField',
731 $GLOBALS[
'TCA'][
'aForeignTableName'][
'columns'][
'aField'][
'config'] = [
733 'internal_type' =>
'db',
735 $this->setExpectedException(\UnexpectedValueException::class, $this->anything(), 1445078628);
736 $this->subject->addData($input);
750 'foreign_table' =>
'aForeignTableName',
751 'foreign_unique' =>
'aField',
757 $GLOBALS[
'TCA'][
'aForeignTableName'][
'columns'][
'aField'][
'config'] = [
759 'foreign_table' =>
'anotherForeignTableName',
762 $expected[
'processedTca'][
'columns'][
'aField'][
'config'][
'foreign_unique'] =
'aField';
763 $expected[
'processedTca'][
'columns'][
'aField'][
'config'][
'selectorOrUniqueConfiguration'] = [
764 'fieldName' =>
'aField',
765 'isSelector' =>
false,
769 'foreign_table' =>
'anotherForeignTableName',
771 'foreignTable' =>
'anotherForeignTableName',
773 $this->assertEquals($expected, $this->subject->addData($input));
787 'foreign_table' =>
'aForeignTableName',
788 'foreign_selector' =>
'aField',
789 'foreign_selector_fieldTcaOverride' => [
791 'aGivenSetting' =>
'aOverrideValue',
792 'aNewSetting' =>
'aNewSetting',
794 'elementBrowserType' =>
'file',
795 'elementBrowserAllowed' =>
'jpg,png',
804 $GLOBALS[
'TCA'][
'aForeignTableName'][
'columns'][
'aField'][
'config'] = [
806 'internal_type' =>
'db',
807 'allowed' =>
'anotherForeignTableName',
808 'doNotChangeMe' =>
'doNotChangeMe',
809 'aGivenSetting' =>
'aGivenValue',
813 $expected[
'processedTca'][
'columns'][
'aField'][
'config'][
'appearance'][
'levelLinksPosition'] =
'none';
814 $expected[
'processedTca'][
'columns'][
'aField'][
'config'][
'foreign_selector'] =
'aField';
815 $expected[
'processedTca'][
'columns'][
'aField'][
'config'][
'foreign_selector_fieldTcaOverride'] = [
817 'aGivenSetting' =>
'aOverrideValue',
818 'aNewSetting' =>
'aNewSetting',
820 'elementBrowserType' =>
'file',
821 'elementBrowserAllowed' =>
'jpg,png',
826 $expected[
'processedTca'][
'columns'][
'aField'][
'config'][
'selectorOrUniqueConfiguration'] = [
827 'fieldName' =>
'aField',
828 'isSelector' =>
true,
832 'internal_type' =>
'db',
833 'allowed' =>
'anotherForeignTableName',
834 'doNotChangeMe' =>
'doNotChangeMe',
835 'aGivenSetting' =>
'aOverrideValue',
836 'aNewSetting' =>
'aNewSetting',
838 'elementBrowserType' =>
'file',
839 'elementBrowserAllowed' =>
'jpg,png',
842 'foreignTable' =>
'anotherForeignTableName',
844 $this->assertEquals($expected, $this->subject->addData($input));