‪TYPO3CMS  11.5
DefaultTcaSchemaTest.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
20 use Doctrine\DBAL\Schema\Column;
21 use Doctrine\DBAL\Schema\Index;
22 use Doctrine\DBAL\Schema\SchemaException;
23 use Doctrine\DBAL\Schema\Table;
24 use Doctrine\DBAL\Types\IntegerType;
25 use Doctrine\DBAL\Types\StringType;
26 use Doctrine\DBAL\Types\Type;
28 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
29 
33 class ‪DefaultTcaSchemaTest extends UnitTestCase
34 {
36  protected ?Table ‪$defaultTable;
37 
38  public function ‪setUp(): void
39  {
40  parent::setUp();
41  $this->subject = new ‪DefaultTcaSchema();
42  $this->defaultTable = new Table('aTable');
43  }
44 
49  {
50  ‪$GLOBALS['TCA'] = [];
51  self::assertEquals([$this->defaultTable], $this->subject->enrich([$this->defaultTable]));
52  }
53 
57  public function ‪enrichDoesNotAddColumnIfExists(): void
58  {
59  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [];
60 
61  $table = new Table('aTable');
62  $table->addColumn('uid', 'integer');
63  $table->addColumn('pid', 'integer');
64  $input = [];
65  $input[] = $table;
66 
67  $table = new Table('aTable');
68  $table->addColumn('uid', 'integer');
69  $table->addColumn('pid', 'integer');
70  $expected = [];
71  $expected[] = $table;
72 
73  self::assertEquals($expected, $this->subject->enrich($input));
74  }
75 
80  {
81  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [];
82 
83  $table = new Table('aTable');
84  $table->addColumn('foo', 'integer');
85  $input = [];
86  $input[] = $table;
87  $table = new Table('aTable');
88  $table->addColumn('uid', 'integer');
89  $table->addColumn('pid', 'integer');
90  $input[] = $table;
91 
92  $table = new Table('aTable');
93  $table->addColumn('foo', 'integer');
94  $expected = [];
95  $expected[] = $table;
96  $table = new Table('aTable');
97  $table->addColumn('uid', 'integer');
98  $table->addColumn('pid', 'integer');
99  $expected[] = $table;
100 
101  self::assertEquals($expected, $this->subject->enrich($input));
102  }
103 
108  {
109  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [];
110 
111  $table = new Table('aTable');
112  $table->addColumn('foo', 'integer');
113  $input = [];
114  $input[] = $table;
115  $table = new Table('aTable');
116  $table->addColumn('bar', 'integer');
117  $input[] = $table;
118 
119  $result = $this->subject->enrich($input);
120 
121  self::assertInstanceOf(Column::class, $result[0]->getColumn('uid'));
122  }
123 
127  public function ‪enrichAddsUidAndPrimaryKey(): void
128  {
129  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [];
130  $result = $this->subject->enrich([$this->defaultTable]);
131  $expectedUidColumn = new Column(
132  '`uid`',
133  Type::getType('integer'),
134  [
135  'notnull' => true,
136  'unsigned' => true,
137  'autoincrement' => true,
138  ]
139  );
140  $expectedPrimaryKey = new Index('primary', ['uid'], true, true);
141  self::assertEquals($expectedUidColumn, $result[0]->getColumn('uid'));
142  self::assertEquals($expectedPrimaryKey, $result[0]->getPrimaryKey());
143  }
144 
148  public function ‪enrichAddsPid(): void
149  {
150  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [];
151  $result = $this->subject->enrich([$this->defaultTable]);
152  $expectedPidColumn = new Column(
153  '`pid`',
154  Type::getType('integer'),
155  [
156  'default' => 0,
157  'notnull' => true,
158  'unsigned' => true,
159  ]
160  );
161  self::assertEquals($expectedPidColumn, $result[0]->getColumn('pid'));
162  }
163 
168  {
169  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [
170  'versioningWS' => true,
171  ];
172  $result = $this->subject->enrich([$this->defaultTable]);
173  $expectedPidColumn = new Column(
174  '`pid`',
175  Type::getType('integer'),
176  [
177  'default' => 0,
178  'notnull' => true,
179  'unsigned' => false,
180  ]
181  );
182  self::assertEquals($expectedPidColumn, $result[0]->getColumn('pid'));
183  }
184 
188  public function ‪enrichAddsTstamp(): void
189  {
190  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [
191  'tstamp' => 'updatedon',
192  ];
193  $result = $this->subject->enrich([$this->defaultTable]);
194  $expectedColumn = new Column(
195  '`updatedon`',
196  Type::getType('integer'),
197  [
198  'default' => 0,
199  'notnull' => true,
200  'unsigned' => true,
201  ]
202  );
203  self::assertEquals($expectedColumn, $result[0]->getColumn('updatedon'));
204  }
205 
209  public function ‪enrichAddsCrdate(): void
210  {
211  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [
212  'crdate' => 'createdon',
213  ];
214  $result = $this->subject->enrich([$this->defaultTable]);
215  $expectedColumn = new Column(
216  '`createdon`',
217  Type::getType('integer'),
218  [
219  'default' => 0,
220  'notnull' => true,
221  'unsigned' => true,
222  ]
223  );
224  self::assertEquals($expectedColumn, $result[0]->getColumn('createdon'));
225  }
226 
230  public function ‪enrichAddsCruserid(): void
231  {
232  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [
233  'cruser_id' => 'createdby',
234  ];
235  $result = $this->subject->enrich([$this->defaultTable]);
236  $expectedColumn = new Column(
237  '`createdby`',
238  Type::getType('integer'),
239  [
240  'default' => 0,
241  'notnull' => true,
242  'unsigned' => true,
243  ]
244  );
245  self::assertEquals($expectedColumn, $result[0]->getColumn('createdby'));
246  }
247 
251  public function ‪enrichAddsDeleted(): void
252  {
253  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [
254  'delete' => 'deleted',
255  ];
256  $result = $this->subject->enrich([$this->defaultTable]);
257  $expectedColumn = new Column(
258  '`deleted`',
259  Type::getType('smallint'),
260  [
261  'default' => 0,
262  'notnull' => true,
263  'unsigned' => true,
264  ]
265  );
266  self::assertEquals($expectedColumn, $result[0]->getColumn('deleted'));
267  }
268 
272  public function ‪enrichAddsDisabled(): void
273  {
274  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [
275  'enablecolumns' => [
276  'disabled' => 'disabled',
277  ],
278  ];
279  $result = $this->subject->enrich([$this->defaultTable]);
280  $expectedColumn = new Column(
281  '`disabled`',
282  Type::getType('smallint'),
283  [
284  'default' => 0,
285  'notnull' => true,
286  'unsigned' => true,
287  ]
288  );
289  self::assertEquals($expectedColumn, $result[0]->getColumn('disabled'));
290  }
291 
295  public function ‪enrichAddsStarttime(): void
296  {
297  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [
298  'enablecolumns' => [
299  'starttime' => 'starttime',
300  ],
301  ];
302  $result = $this->subject->enrich([$this->defaultTable]);
303  $expectedColumn = new Column(
304  '`starttime`',
305  Type::getType('integer'),
306  [
307  'default' => 0,
308  'notnull' => true,
309  'unsigned' => true,
310  ]
311  );
312  self::assertEquals($expectedColumn, $result[0]->getColumn('starttime'));
313  }
314 
318  public function ‪enrichAddsEndtime(): void
319  {
320  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [
321  'enablecolumns' => [
322  'endtime' => 'endtime',
323  ],
324  ];
325  $result = $this->subject->enrich([$this->defaultTable]);
326  $expectedColumn = new Column(
327  '`endtime`',
328  Type::getType('integer'),
329  [
330  'default' => 0,
331  'notnull' => true,
332  'unsigned' => true,
333  ]
334  );
335  self::assertEquals($expectedColumn, $result[0]->getColumn('endtime'));
336  }
337 
341  public function ‪enrichAddsFegroup(): void
342  {
343  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [
344  'enablecolumns' => [
345  'fe_group' => 'fe_group',
346  ],
347  ];
348  $result = $this->subject->enrich([$this->defaultTable]);
349  $expectedColumn = new Column(
350  '`fe_group`',
351  Type::getType('string'),
352  [
353  'default' => '0',
354  'notnull' => true,
355  'length' => 255,
356  ]
357  );
358  self::assertEquals($expectedColumn, $result[0]->getColumn('fe_group'));
359  }
360 
364  public function ‪enrichAddsSorting(): void
365  {
366  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [
367  'sortby' => 'sorting',
368  ];
369  $result = $this->subject->enrich([$this->defaultTable]);
370  $expectedColumn = new Column(
371  '`sorting`',
372  Type::getType('integer'),
373  [
374  'default' => '0',
375  'notnull' => true,
376  'unsigned' => false,
377  ]
378  );
379  self::assertEquals($expectedColumn, $result[0]->getColumn('sorting'));
380  }
381 
385  public function ‪enrichAddsParentKey(): void
386  {
387  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [];
388  $result = $this->subject->enrich([$this->defaultTable]);
389  $expectedIndex = new Index('parent', ['pid']);
390  self::assertEquals($expectedIndex, $result[0]->getIndex('parent'));
391  }
392 
396  public function ‪enrichAddsParentKeyWithDelete(): void
397  {
398  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [
399  'delete' => 'deleted',
400  ];
401  $result = $this->subject->enrich([$this->defaultTable]);
402  $expectedIndex = new Index('parent', ['pid', 'deleted']);
403  self::assertEquals($expectedIndex, $result[0]->getIndex('parent'));
404  }
405 
409  public function ‪enrichAddsParentKeyWithDisabled(): void
410  {
411  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [
412  'enablecolumns' => [
413  'disabled' => 'disabled',
414  ],
415  ];
416  $result = $this->subject->enrich([$this->defaultTable]);
417  $expectedIndex = new Index('parent', ['pid', 'disabled']);
418  self::assertEquals($expectedIndex, $result[0]->getIndex('parent'));
419  }
420 
424  public function ‪enrichAddsParentKeyInCorrectOrder(): void
425  {
426  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [
427  'delete' => 'deleted',
428  'enablecolumns' => [
429  'disabled' => 'disabled',
430  ],
431  ];
432  $result = $this->subject->enrich([$this->defaultTable]);
433  $expectedIndex = new Index('parent', ['pid', 'deleted', 'disabled']);
434  self::assertEquals($expectedIndex, $result[0]->getIndex('parent'));
435  }
436 
440  public function ‪enrichAddsSysLanguageUid(): void
441  {
442  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [
443  'languageField' => 'sys_language_uid',
444  ];
445  $result = $this->subject->enrich([$this->defaultTable]);
446  $expectedColumn = new Column(
447  '`sys_language_uid`',
448  Type::getType('integer'),
449  [
450  'default' => 0,
451  'notnull' => true,
452  'unsigned' => false,
453  ]
454  );
455  self::assertEquals($expectedColumn, $result[0]->getColumn('sys_language_uid'));
456  }
457 
461  public function ‪enrichAddsL10nParent(): void
462  {
463  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [
464  'languageField' => 'sys_language_uid',
465  'transOrigPointerField' => 'l10n_parent',
466  ];
467  $result = $this->subject->enrich([$this->defaultTable]);
468  $expectedColumn = new Column(
469  '`l10n_parent`',
470  Type::getType('integer'),
471  [
472  'default' => 0,
473  'notnull' => true,
474  'unsigned' => true,
475  ]
476  );
477  self::assertEquals($expectedColumn, $result[0]->getColumn('l10n_parent'));
478  }
479 
484  {
485  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [
486  'transOrigPointerField' => 'l10n_parent',
487  ];
488  $result = $this->subject->enrich([$this->defaultTable]);
489  $this->expectException(SchemaException::class);
490  $result[0]->getColumn('l10n_parent');
491  }
492 
496  public function ‪enrichAddsDescription(): void
497  {
498  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [
499  'descriptionColumn' => 'rowDescription',
500  ];
501  $result = $this->subject->enrich([$this->defaultTable]);
502  $expectedColumn = new Column(
503  '`rowDescription`',
504  Type::getType('text'),
505  [
506  'notnull' => false,
507  'length' => 65535,
508  ]
509  );
510  self::assertEquals($expectedColumn, $result[0]->getColumn('rowDescription'));
511  }
512 
516  public function ‪enrichAddsEditlock(): void
517  {
518  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [
519  'editlock' => 'editlock',
520  ];
521  $result = $this->subject->enrich([$this->defaultTable]);
522  $expectedColumn = new Column(
523  '`editlock`',
524  Type::getType('smallint'),
525  [
526  'default' => 0,
527  'notnull' => true,
528  'unsigned' => true,
529  ]
530  );
531  self::assertEquals($expectedColumn, $result[0]->getColumn('editlock'));
532  }
533 
537  public function ‪enrichAddsL10nSource(): void
538  {
539  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [
540  'languageField' => 'sys_language_uid',
541  'translationSource' => 'l10n_source',
542  ];
543  $result = $this->subject->enrich([$this->defaultTable]);
544  $expectedColumn = new Column(
545  '`l10n_source`',
546  Type::getType('integer'),
547  [
548  'default' => 0,
549  'notnull' => true,
550  'unsigned' => true,
551  ]
552  );
553  self::assertEquals($expectedColumn, $result[0]->getColumn('l10n_source'));
554  }
555 
560  {
561  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [
562  'translationSource' => 'l10n_source',
563  ];
564  $result = $this->subject->enrich([$this->defaultTable]);
565  $this->expectException(SchemaException::class);
566  $result[0]->getColumn('l10n_source');
567  }
568 
572  public function ‪enrichAddsL10nState(): void
573  {
574  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [
575  'languageField' => 'sys_language_uid',
576  'transOrigPointerField' => 'l10n_parent',
577  ];
578  $result = $this->subject->enrich([$this->defaultTable]);
579  $expectedColumn = new Column(
580  '`l10n_state`',
581  Type::getType('text'),
582  [
583  'notnull' => false,
584  'length' => 65535,
585  ]
586  );
587  self::assertEquals($expectedColumn, $result[0]->getColumn('l10n_state'));
588  }
589 
594  {
595  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [
596  'transOrigPointerField' => 'l10n_parent',
597  ];
598  $result = $this->subject->enrich([$this->defaultTable]);
599  $this->expectException(SchemaException::class);
600  $result[0]->getColumn('l10n_state');
601  }
602 
607  {
608  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [
609  'languageField' => 'sys_language_uid',
610  ];
611  $result = $this->subject->enrich([$this->defaultTable]);
612  $this->expectException(SchemaException::class);
613  $result[0]->getColumn('l10n_state');
614  }
615 
619  public function ‪enrichAddsT3origUid(): void
620  {
621  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [
622  'origUid' => 't3_origuid',
623  ];
624  $result = $this->subject->enrich([$this->defaultTable]);
625  $expectedColumn = new Column(
626  '`t3_origuid`',
627  Type::getType('integer'),
628  [
629  'default' => 0,
630  'notnull' => true,
631  'unsigned' => true,
632  ]
633  );
634  self::assertEquals($expectedColumn, $result[0]->getColumn('t3_origuid'));
635  }
636 
640  public function ‪enrichAddsL10nDiffsource(): void
641  {
642  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [
643  'transOrigDiffSourceField' => 'l18n_diffsource',
644  ];
645  $result = $this->subject->enrich([$this->defaultTable]);
646  $expectedColumn = new Column(
647  '`l18n_diffsource`',
648  Type::getType('blob'),
649  [
650  'length' => 16777215,
651  'notnull' => false,
652  ]
653  );
654  self::assertEquals($expectedColumn, $result[0]->getColumn('l18n_diffsource'));
655  }
656 
660  public function ‪enrichAddsT3verOid(): void
661  {
662  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [
663  'versioningWS' => true,
664  ];
665  $result = $this->subject->enrich([$this->defaultTable]);
666  $expectedColumn = new Column(
667  '`t3ver_oid`',
668  Type::getType('integer'),
669  [
670  'default' => 0,
671  'notnull' => true,
672  'unsigned' => true,
673  ]
674  );
675  self::assertEquals($expectedColumn, $result[0]->getColumn('t3ver_oid'));
676  }
677 
681  public function ‪enrichAddsT3verWsid(): void
682  {
683  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [
684  'versioningWS' => true,
685  ];
686  $result = $this->subject->enrich([$this->defaultTable]);
687  $expectedColumn = new Column(
688  '`t3ver_wsid`',
689  Type::getType('integer'),
690  [
691  'default' => 0,
692  'notnull' => true,
693  'unsigned' => true,
694  ]
695  );
696  self::assertEquals($expectedColumn, $result[0]->getColumn('t3ver_wsid'));
697  }
698 
702  public function ‪enrichAddsT3verState(): void
703  {
704  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [
705  'versioningWS' => true,
706  ];
707  $result = $this->subject->enrich([$this->defaultTable]);
708  $expectedColumn = new Column(
709  '`t3ver_state`',
710  Type::getType('smallint'),
711  [
712  'default' => 0,
713  'notnull' => true,
714  'unsigned' => false,
715  ]
716  );
717  self::assertEquals($expectedColumn, $result[0]->getColumn('t3ver_state'));
718  }
719 
723  public function ‪enrichAddsT3verStage(): void
724  {
725  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [
726  'versioningWS' => true,
727  ];
728  $result = $this->subject->enrich([$this->defaultTable]);
729  $expectedColumn = new Column(
730  '`t3ver_stage`',
731  Type::getType('integer'),
732  [
733  'default' => 0,
734  'notnull' => true,
735  'unsigned' => false,
736  ]
737  );
738  self::assertEquals($expectedColumn, $result[0]->getColumn('t3ver_stage'));
739  }
740 
744  public function ‪enrichAddsT3verOidIndex(): void
745  {
746  ‪$GLOBALS['TCA']['aTable']['ctrl'] = [
747  'versioningWS' => true,
748  ];
749  $result = $this->subject->enrich([$this->defaultTable]);
750  $expectedIndex = new Index('t3ver_oid', ['t3ver_oid', 't3ver_wsid']);
751  self::assertEquals($expectedIndex, $result[0]->getIndex('t3ver_oid'));
752  }
753 
757  public function ‪enrichAddsSimpleMmForSelect(): void
758  {
759  ‪$GLOBALS['TCA']['aTable']['columns']['aField']['config'] = [
760  'type' => 'select',
761  'MM' => 'tx_myext_atable_afield_mm',
762  ];
763  $result = $this->subject->enrich([$this->defaultTable]);
764  $expectedMmTable = new Table(
765  'tx_myext_atable_afield_mm',
766  [
767  new Column(
768  '`uid_local`',
769  new IntegerType(),
770  [
771  'default' => 0,
772  'unsigned' => true,
773  ]
774  ),
775  new Column(
776  '`uid_foreign`',
777  new IntegerType(),
778  [
779  'default' => 0,
780  'unsigned' => true,
781  ]
782  ),
783  new Column(
784  '`sorting`',
785  new IntegerType(),
786  [
787  'default' => 0,
788  'unsigned' => true,
789  ]
790  ),
791  new Column(
792  '`sorting_foreign`',
793  new IntegerType(),
794  [
795  'default' => 0,
796  'unsigned' => true,
797  ]
798  ),
799  ],
800  [
801  new Index(
802  'uid_local',
803  ['uid_local']
804  ),
805  new Index(
806  'uid_foreign',
807  ['uid_foreign']
808  ),
809  ]
810  );
811  self::assertEquals($expectedMmTable, $result[1]);
812  }
813 
817  public function ‪enrichAddsMmWithTcaHasUid(): void
818  {
819  ‪$GLOBALS['TCA']['aTable']['columns']['aField']['config'] = [
820  'type' => 'select',
821  'MM' => 'tx_myext_atable_afield_mm',
822  'MM_hasUidField' => true,
823  ];
824  $result = $this->subject->enrich([$this->defaultTable]);
825  $expectedMmTable = new Table(
826  'tx_myext_atable_afield_mm',
827  [
828  new Column(
829  '`uid_local`',
830  new IntegerType(),
831  [
832  'default' => 0,
833  'unsigned' => true,
834  ]
835  ),
836  new Column(
837  '`uid_foreign`',
838  new IntegerType(),
839  [
840  'default' => 0,
841  'unsigned' => true,
842  ]
843  ),
844  new Column(
845  '`sorting`',
846  new IntegerType(),
847  [
848  'default' => 0,
849  'unsigned' => true,
850  ]
851  ),
852  new Column(
853  '`sorting_foreign`',
854  new IntegerType(),
855  [
856  'default' => 0,
857  'unsigned' => true,
858  ]
859  ),
860  new Column(
861  '`uid`',
862  new IntegerType(),
863  [
864  'default' => null,
865  'autoincrement' => true,
866  'unsigned' => true,
867  ]
868  ),
869  ],
870  [
871  new Index(
872  'uid_local',
873  ['uid_local']
874  ),
875  new Index(
876  'uid_foreign',
877  ['uid_foreign']
878  ),
879  new Index(
880  'primary',
881  ['uid'],
882  true,
883  true
884  ),
885  ]
886  );
887  self::assertEquals($expectedMmTable, $result[1]);
888  }
889 
894  {
895  ‪$GLOBALS['TCA']['aTable']['columns']['aField']['config'] = [
896  'type' => 'select',
897  'MM' => 'tx_myext_atable_afield_mm',
898  'MM_oppositeUsage' => [
899  'tt_content' => [
900  'categories',
901  ],
902  ],
903  ];
904  $result = $this->subject->enrich([$this->defaultTable]);
905  $expectedMmTable = new Table(
906  'tx_myext_atable_afield_mm',
907  [
908  new Column(
909  '`uid_local`',
910  new IntegerType(),
911  [
912  'default' => 0,
913  'unsigned' => true,
914  ]
915  ),
916  new Column(
917  '`uid_foreign`',
918  new IntegerType(),
919  [
920  'default' => 0,
921  'unsigned' => true,
922  ]
923  ),
924  new Column(
925  '`sorting`',
926  new IntegerType(),
927  [
928  'default' => 0,
929  'unsigned' => true,
930  ]
931  ),
932  new Column(
933  '`sorting_foreign`',
934  new IntegerType(),
935  [
936  'default' => 0,
937  'unsigned' => true,
938  ]
939  ),
940  new Column(
941  '`tablenames`',
942  new StringType(),
943  [
944  'default' => '',
945  'length' => 255,
946  ]
947  ),
948  new Column(
949  '`fieldname`',
950  new StringType(),
951  [
952  'default' => '',
953  'length' => 255,
954  ]
955  ),
956  ],
957  [
958  new Index(
959  'uid_local',
960  ['uid_local']
961  ),
962  new Index(
963  'uid_foreign',
964  ['uid_foreign']
965  ),
966  ]
967  );
968  self::assertEquals($expectedMmTable, $result[1]);
969  }
970 }
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsL10nDiffsource
‪enrichAddsL10nDiffsource()
Definition: DefaultTcaSchemaTest.php:640
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsSimpleMmForSelect
‪enrichAddsSimpleMmForSelect()
Definition: DefaultTcaSchemaTest.php:757
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichDoesNotAddL10nStateIfTransOrigPointerFieldIsNotDefined
‪enrichDoesNotAddL10nStateIfTransOrigPointerFieldIsNotDefined()
Definition: DefaultTcaSchemaTest.php:606
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsStarttime
‪enrichAddsStarttime()
Definition: DefaultTcaSchemaTest.php:295
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsParentKeyWithDisabled
‪enrichAddsParentKeyWithDisabled()
Definition: DefaultTcaSchemaTest.php:409
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichDoesNotAddL10nStateIfLanguageFieldIsNotDefined
‪enrichDoesNotAddL10nStateIfLanguageFieldIsNotDefined()
Definition: DefaultTcaSchemaTest.php:593
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsT3verState
‪enrichAddsT3verState()
Definition: DefaultTcaSchemaTest.php:702
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsFegroup
‪enrichAddsFegroup()
Definition: DefaultTcaSchemaTest.php:341
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichKeepsGivenTablesArrayWithEmptyTca
‪enrichKeepsGivenTablesArrayWithEmptyTca()
Definition: DefaultTcaSchemaTest.php:48
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsT3verWsid
‪enrichAddsT3verWsid()
Definition: DefaultTcaSchemaTest.php:681
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsDeleted
‪enrichAddsDeleted()
Definition: DefaultTcaSchemaTest.php:251
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsCrdate
‪enrichAddsCrdate()
Definition: DefaultTcaSchemaTest.php:209
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema
Definition: ConnectionMigratorTest.php:18
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsT3verOidIndex
‪enrichAddsT3verOidIndex()
Definition: DefaultTcaSchemaTest.php:744
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsT3origUid
‪enrichAddsT3origUid()
Definition: DefaultTcaSchemaTest.php:619
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichDoesNotAddL10nParentIfLanguageFieldIsNotDefined
‪enrichDoesNotAddL10nParentIfLanguageFieldIsNotDefined()
Definition: DefaultTcaSchemaTest.php:483
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\$subject
‪DefaultTcaSchema $subject
Definition: DefaultTcaSchemaTest.php:35
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsParentKey
‪enrichAddsParentKey()
Definition: DefaultTcaSchemaTest.php:385
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsDescription
‪enrichAddsDescription()
Definition: DefaultTcaSchemaTest.php:496
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\$defaultTable
‪Table $defaultTable
Definition: DefaultTcaSchemaTest.php:36
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsMmWithTablenamesAndFieldname
‪enrichAddsMmWithTablenamesAndFieldname()
Definition: DefaultTcaSchemaTest.php:893
‪TYPO3\CMS\Core\Database\Schema\DefaultTcaSchema
Definition: DefaultTcaSchema.php:38
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsDisabled
‪enrichAddsDisabled()
Definition: DefaultTcaSchemaTest.php:272
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsEndtime
‪enrichAddsEndtime()
Definition: DefaultTcaSchemaTest.php:318
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsSignedPidWithEnabledWorkspace
‪enrichAddsSignedPidWithEnabledWorkspace()
Definition: DefaultTcaSchemaTest.php:167
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsParentKeyWithDelete
‪enrichAddsParentKeyWithDelete()
Definition: DefaultTcaSchemaTest.php:396
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsSorting
‪enrichAddsSorting()
Definition: DefaultTcaSchemaTest.php:364
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsL10nSource
‪enrichAddsL10nSource()
Definition: DefaultTcaSchemaTest.php:537
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichDoesNotAddColumnIfTableExistsMultipleTimesAndUidExists
‪enrichDoesNotAddColumnIfTableExistsMultipleTimesAndUidExists()
Definition: DefaultTcaSchemaTest.php:79
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsT3verStage
‪enrichAddsT3verStage()
Definition: DefaultTcaSchemaTest.php:723
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsUidAndPrimaryKey
‪enrichAddsUidAndPrimaryKey()
Definition: DefaultTcaSchemaTest.php:127
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsSysLanguageUid
‪enrichAddsSysLanguageUid()
Definition: DefaultTcaSchemaTest.php:440
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsL10nState
‪enrichAddsL10nState()
Definition: DefaultTcaSchemaTest.php:572
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsL10nParent
‪enrichAddsL10nParent()
Definition: DefaultTcaSchemaTest.php:461
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsCruserid
‪enrichAddsCruserid()
Definition: DefaultTcaSchemaTest.php:230
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsParentKeyInCorrectOrder
‪enrichAddsParentKeyInCorrectOrder()
Definition: DefaultTcaSchemaTest.php:424
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:25
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichDoesNotAddL10nSourceIfLanguageFieldIsNotDefined
‪enrichDoesNotAddL10nSourceIfLanguageFieldIsNotDefined()
Definition: DefaultTcaSchemaTest.php:559
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichDoesNotAddColumnIfExists
‪enrichDoesNotAddColumnIfExists()
Definition: DefaultTcaSchemaTest.php:57
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsPid
‪enrichAddsPid()
Definition: DefaultTcaSchemaTest.php:148
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsT3verOid
‪enrichAddsT3verOid()
Definition: DefaultTcaSchemaTest.php:660
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsEditlock
‪enrichAddsEditlock()
Definition: DefaultTcaSchemaTest.php:516
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsMmWithTcaHasUid
‪enrichAddsMmWithTcaHasUid()
Definition: DefaultTcaSchemaTest.php:817
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsTstamp
‪enrichAddsTstamp()
Definition: DefaultTcaSchemaTest.php:188
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\enrichAddsFieldToFirstTableDefinitionOfThatName
‪enrichAddsFieldToFirstTableDefinitionOfThatName()
Definition: DefaultTcaSchemaTest.php:107
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest
Definition: DefaultTcaSchemaTest.php:34
‪TYPO3\CMS\Core\Tests\Unit\Database\Schema\DefaultTcaSchemaTest\setUp
‪setUp()
Definition: DefaultTcaSchemaTest.php:38