‪TYPO3CMS  11.5
DatabaseRowDefaultValuesTest.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 
21 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
22 
26 class ‪DatabaseRowDefaultValuesTest extends UnitTestCase
27 {
29 
30  protected function ‪setUp(): void
31  {
32  parent::setUp();
33  $this->subject = new ‪DatabaseRowDefaultValues();
34  }
35 
39  public function ‪addDataKeepsExistingValue(): void
40  {
41  $input = [
42  'databaseRow' => [
43  'aDefinedField' => 'aValue',
44  ],
45  'processedTca' => [
46  'columns' => [
47  'aDefinedField' => [],
48  ],
49  ],
50  ];
51  $expected = $input;
52  self::assertSame($expected, $this->subject->addData($input));
53  }
54 
59  {
60  $input = [
61  'databaseRow' => [
62  'aField' => null,
63  ],
64  'processedTca' => [
65  'columns' => [
66  'aField' => [
67  'config' => [
68  'eval' => 'null',
69  ],
70  ],
71  ],
72  ],
73  ];
74  $expected = $input;
75  self::assertSame($expected, $this->subject->addData($input));
76  }
77 
82  {
83  $input = [
84  'databaseRow' => [],
85  'processedTca' => [
86  'columns' => [
87  'aField' => [
88  'config' => [
89  'eval' => 'null',
90  'default' => null,
91  ],
92  ],
93  ],
94  ],
95  ];
96  $expected = $input;
97  $expected['databaseRow']['aField'] = null;
98  self::assertSame($expected, $this->subject->addData($input));
99  }
100 
105  {
106  $input = [
107  'databaseRow' => [],
108  'processedTca' => [
109  'columns' => [
110  'aField' => [
111  'config' => [
112  'eval' => 'null',
113  'default' => 'foo',
114  ],
115  ],
116  ],
117  ],
118  ];
119  $expected = $input;
120  $expected['databaseRow']['aField'] = 'foo';
121  self::assertSame($expected, $this->subject->addData($input));
122  }
123 
127  public function ‪addDataSetsDefaultValueIsSet(): void
128  {
129  $input = [
130  'databaseRow' => [],
131  'processedTca' => [
132  'columns' => [
133  'aField' => [
134  'config' => [
135  'default' => 'foo',
136  ],
137  ],
138  ],
139  ],
140  ];
141  $expected = $input;
142  $expected['databaseRow']['aField'] = 'foo';
143  self::assertSame($expected, $this->subject->addData($input));
144  }
145 }
‪TYPO3\CMS\Backend\Tests\Unit\Form\FormDataProvider\DatabaseRowDefaultValuesTest
Definition: DatabaseRowDefaultValuesTest.php:27
‪TYPO3\CMS\Backend\Form\FormDataProvider\DatabaseRowDefaultValues
Definition: DatabaseRowDefaultValues.php:28
‪TYPO3\CMS\Backend\Tests\Unit\Form\FormDataProvider\DatabaseRowDefaultValuesTest\addDataSetsDefaultValueIfEvalNullIsSet
‪addDataSetsDefaultValueIfEvalNullIsSet()
Definition: DatabaseRowDefaultValuesTest.php:104
‪TYPO3\CMS\Backend\Tests\Unit\Form\FormDataProvider\DatabaseRowDefaultValuesTest\addDataKeepsExistingNullValueWithEvalNull
‪addDataKeepsExistingNullValueWithEvalNull()
Definition: DatabaseRowDefaultValuesTest.php:58
‪TYPO3\CMS\Backend\Tests\Unit\Form\FormDataProvider\DatabaseRowDefaultValuesTest\addDataKeepsExistingValue
‪addDataKeepsExistingValue()
Definition: DatabaseRowDefaultValuesTest.php:39
‪TYPO3\CMS\Backend\Tests\Unit\Form\FormDataProvider\DatabaseRowDefaultValuesTest\setUp
‪setUp()
Definition: DatabaseRowDefaultValuesTest.php:30
‪TYPO3\CMS\Backend\Tests\Unit\Form\FormDataProvider\DatabaseRowDefaultValuesTest\$subject
‪DatabaseRowDefaultValues $subject
Definition: DatabaseRowDefaultValuesTest.php:28
‪TYPO3\CMS\Backend\Tests\Unit\Form\FormDataProvider\DatabaseRowDefaultValuesTest\addDataSetsDefaultValueIsSet
‪addDataSetsDefaultValueIsSet()
Definition: DatabaseRowDefaultValuesTest.php:127
‪TYPO3\CMS\Backend\Tests\Unit\Form\FormDataProvider\DatabaseRowDefaultValuesTest\addDataSetsNullValueWithDefaultNullForNewRecord
‪addDataSetsNullValueWithDefaultNullForNewRecord()
Definition: DatabaseRowDefaultValuesTest.php:81
‪TYPO3\CMS\Backend\Tests\Unit\Form\FormDataProvider
Definition: DatabaseDefaultLanguagePageRowTest.php:18