‪TYPO3CMS  11.5
TcaColumnsProcessFieldLabelsTest.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 Prophecy\PhpUnit\ProphecyTrait;
23 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
24 
28 class ‪TcaColumnsProcessFieldLabelsTest extends UnitTestCase
29 {
30  use ProphecyTrait;
31 
35  public function ‪addDataKeepsLabelAsIsIfNoOverrideIsGiven(): void
36  {
37  $input = [
38  'tableName' => 'aTable',
39  'processedTca' => [
40  'columns' => [
41  'aField' => [
42  'label' => 'foo',
43  ],
44  ],
45  ],
46  'recordTypeValue' => 'aType',
47  ];
48  $languageServiceProphecy = $this->prophesize(LanguageService::class);
49  $languageServiceProphecy->sL('foo')->shouldBeCalled()->willReturnArgument(0);
50  ‪$GLOBALS['LANG'] = $languageServiceProphecy->reveal();
51 
52  $expected = $input;
53  self::assertSame($expected, (new ‪TcaColumnsProcessFieldLabels())->addData($input));
54  }
55 
59  public function ‪addDataSetsLabelFromShowitem(): void
60  {
61  $input = [
62  'tableName' => 'aTable',
63  'processedTca' => [
64  'columns' => [
65  'aField' => [
66  'label' => 'origLabel',
67  ],
68  ],
69  'types' => [
70  'aType' => [
71  'showitem' => 'aField;aLabelOverride',
72  ],
73  ],
74  ],
75  'recordTypeValue' => 'aType',
76  ];
77  $languageServiceProphecy = $this->prophesize(LanguageService::class);
78  $languageServiceProphecy->sL('aLabelOverride')->shouldBeCalled()->willReturnArgument(0);
79  ‪$GLOBALS['LANG'] = $languageServiceProphecy->reveal();
80 
81  $expected = $input;
82  $expected['processedTca']['columns']['aField']['label'] = 'aLabelOverride';
83  self::assertSame($expected, (new ‪TcaColumnsProcessFieldLabels())->addData($input));
84  }
85 
89  public function ‪addDataSetsLabelFromPalettesShowitem(): void
90  {
91  $input = [
92  'tableName' => 'aTable',
93  'processedTca' => [
94  'columns' => [
95  'aField' => [
96  'label' => 'origLabel',
97  ],
98  ],
99  'types' => [
100  'aType' => [
101  'showitem' => '--palette--;;aPalette',
102  ],
103  ],
104  'palettes' => [
105  'aPalette' => [
106  'showitem' => 'aField;aLabelOverride',
107  ],
108  ],
109  ],
110  'recordTypeValue' => 'aType',
111  ];
112  $languageServiceProphecy = $this->prophesize(LanguageService::class);
113  $languageServiceProphecy->sL('aLabelOverride')->shouldBeCalled()->willReturnArgument(0);
114  ‪$GLOBALS['LANG'] = $languageServiceProphecy->reveal();
115 
116  $expected = $input;
117  $expected['processedTca']['columns']['aField']['label'] = 'aLabelOverride';
118  self::assertSame($expected, (new ‪TcaColumnsProcessFieldLabels())->addData($input));
119  }
120 
124  public function ‪addDataSetsLabelFromPageTsConfig(): void
125  {
126  $input = [
127  'tableName' => 'aTable',
128  'processedTca' => [
129  'columns' => [
130  'aField' => [
131  'label' => 'origLabel',
132  ],
133  ],
134  ],
135  'pageTsConfig' => [
136  'TCEFORM.' => [
137  'aTable.' => [
138  'aField.' => [
139  'label' => 'aLabelOverride',
140  ],
141  ],
142  ],
143  ],
144  'recordTypeValue' => 'aType',
145  ];
146  $languageServiceProphecy = $this->prophesize(LanguageService::class);
147  $languageServiceProphecy->sL('aLabelOverride')->shouldBeCalled()->willReturnArgument(0);
148  ‪$GLOBALS['LANG'] = $languageServiceProphecy->reveal();
149 
150  $expected = $input;
151  $expected['processedTca']['columns']['aField']['label'] = 'aLabelOverride';
152  self::assertSame($expected, (new ‪TcaColumnsProcessFieldLabels())->addData($input));
153  }
154 
159  {
160  $input = [
161  'tableName' => 'aTable',
162  'processedTca' => [
163  'columns' => [
164  'aField' => [
165  'label' => 'origLabel',
166  ],
167  ],
168  ],
169  'pageTsConfig' => [
170  'TCEFORM.' => [
171  'aTable.' => [
172  'aField.' => [
173  'label.' => [
174  'fr' => 'aLabelOverride',
175  ],
176  ],
177  ],
178  ],
179  ],
180  'recordTypeValue' => 'aType',
181  ];
182  $languageServiceProphecy = $this->prophesize(LanguageService::class);
183  $languageServiceProphecy->sL('aLabelOverride')->shouldBeCalled()->willReturnArgument(0);
184  $languageService = $languageServiceProphecy->reveal();
185  $languageService->lang = 'fr';
186  ‪$GLOBALS['LANG'] = $languageService;
187 
188  $expected = $input;
189  $expected['processedTca']['columns']['aField']['label'] = 'aLabelOverride';
190  self::assertSame($expected, (new ‪TcaColumnsProcessFieldLabels())->addData($input));
191  }
192 }
‪TYPO3\CMS\Backend\Tests\Unit\Form\FormDataProvider\TcaColumnsProcessFieldLabelsTest
Definition: TcaColumnsProcessFieldLabelsTest.php:29
‪TYPO3\CMS\Backend\Form\FormDataProvider\TcaColumnsProcessFieldLabels
Definition: TcaColumnsProcessFieldLabels.php:28
‪TYPO3\CMS\Backend\Tests\Unit\Form\FormDataProvider\TcaColumnsProcessFieldLabelsTest\addDataSetsLabelFromShowitem
‪addDataSetsLabelFromShowitem()
Definition: TcaColumnsProcessFieldLabelsTest.php:58
‪TYPO3\CMS\Backend\Tests\Unit\Form\FormDataProvider\TcaColumnsProcessFieldLabelsTest\addDataSetsLabelFromPageTsConfigForSpecificLanguage
‪addDataSetsLabelFromPageTsConfigForSpecificLanguage()
Definition: TcaColumnsProcessFieldLabelsTest.php:157
‪TYPO3\CMS\Backend\Tests\Unit\Form\FormDataProvider\TcaColumnsProcessFieldLabelsTest\addDataSetsLabelFromPalettesShowitem
‪addDataSetsLabelFromPalettesShowitem()
Definition: TcaColumnsProcessFieldLabelsTest.php:88
‪TYPO3\CMS\Backend\Tests\Unit\Form\FormDataProvider\TcaColumnsProcessFieldLabelsTest\addDataSetsLabelFromPageTsConfig
‪addDataSetsLabelFromPageTsConfig()
Definition: TcaColumnsProcessFieldLabelsTest.php:123
‪TYPO3\CMS\Backend\Tests\Unit\Form\FormDataProvider\TcaColumnsProcessFieldLabelsTest\addDataKeepsLabelAsIsIfNoOverrideIsGiven
‪addDataKeepsLabelAsIsIfNoOverrideIsGiven()
Definition: TcaColumnsProcessFieldLabelsTest.php:34
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:25
‪TYPO3\CMS\Core\Localization\LanguageService
Definition: LanguageService.php:42
‪TYPO3\CMS\Backend\Tests\Unit\Form\FormDataProvider
Definition: DatabaseDefaultLanguagePageRowTest.php:18