‪TYPO3CMS  ‪main
AbstractEntityTest.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 PHPUnit\Framework\Attributes\Test;
22 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
23 
24 final class ‪AbstractEntityTest extends UnitTestCase
25 {
26  #[Test]
28  {
29  $domainObject = new class () extends ‪AbstractEntity {
30  public $foo = 'Test';
31  public $bar = 'It is raining outside';
32  };
33  $domainObject->‪_memorizeCleanState();
34 
35  self::assertFalse($domainObject->_isDirty());
36  }
37 
38  #[Test]
40  {
41  $domainObject = new class () extends ‪AbstractEntity {
42  public $foo = 'Test';
43  public $bar = 'It is raining outside';
44  };
45  $domainObject->‪_memorizeCleanState();
46  $domainObject->bar = 'Now it is sunny.';
47 
48  self::assertTrue($domainObject->_isDirty());
49  }
50 
51  #[Test]
53  {
54  $domainObject = new class () extends ‪AbstractEntity {
55  public $foo;
56  public $bar = 'It is raining outside';
57  };
58  $domainObject->foo = new \DateTime();
59  $domainObject->_memorizeCleanState();
60 
61  self::assertFalse($domainObject->_isDirty());
62  }
63 
64  #[Test]
66  {
67  $domainObject = new class () extends ‪AbstractEntity {
68  public $foo;
69  public $bar;
70  };
71 
72  $secondDomainObject = new class () extends ‪AbstractEntity {
73  public $foo;
74  public $bar;
75  };
76 
77  $secondDomainObject->‪_memorizeCleanState();
78  $domainObject->foo = $secondDomainObject;
79  $domainObject->bar = 'It is raining outside';
80  $domainObject->_memorizeCleanState();
81 
82  self::assertFalse($domainObject->_isDirty());
83  }
84 }
‪TYPO3\CMS\Extbase\Tests\Unit\DomainObject
Definition: AbstractEntityTest.php:18
‪TYPO3\CMS\Extbase\Tests\Unit\DomainObject\AbstractEntityTest\objectIsNotDirtyAfterCallingMemorizeCleanStateWithObjectProperties
‪objectIsNotDirtyAfterCallingMemorizeCleanStateWithObjectProperties()
Definition: AbstractEntityTest.php:52
‪TYPO3\CMS\Extbase\DomainObject\AbstractEntity
Definition: AbstractEntity.php:22
‪TYPO3\CMS\Extbase\Tests\Unit\DomainObject\AbstractEntityTest\objectIsNotDirtyAfterCallingMemorizeCleanStateWithSimpleProperties
‪objectIsNotDirtyAfterCallingMemorizeCleanStateWithSimpleProperties()
Definition: AbstractEntityTest.php:27
‪TYPO3\CMS\Extbase\DomainObject\AbstractDomainObject\_memorizeCleanState
‪_memorizeCleanState(?string $propertyName=null)
Definition: AbstractDomainObject.php:180
‪TYPO3\CMS\Extbase\Tests\Unit\DomainObject\AbstractEntityTest
Definition: AbstractEntityTest.php:25
‪TYPO3\CMS\Extbase\Tests\Unit\DomainObject\AbstractEntityTest\objectIsDirtyAfterCallingMemorizeCleanStateWithSimplePropertiesAndModifyingThePropertiesAfterwards
‪objectIsDirtyAfterCallingMemorizeCleanStateWithSimplePropertiesAndModifyingThePropertiesAfterwards()
Definition: AbstractEntityTest.php:39
‪TYPO3\CMS\Extbase\Tests\Unit\DomainObject\AbstractEntityTest\objectIsNotDirtyAfterCallingMemorizeCleanStateWithOtherDomainObjectsAsProperties
‪objectIsNotDirtyAfterCallingMemorizeCleanStateWithOtherDomainObjectsAsProperties()
Definition: AbstractEntityTest.php:65