diff options
| author | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2023-02-17 16:11:12 +0000 |
|---|---|---|
| committer | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2023-02-17 16:11:12 +0000 |
| commit | 64887e7a9f8874de012f4298e6f9c45ae38aefc5 (patch) | |
| tree | ccab2186d149a141634766565e15b126a9ba71fa /tests/unit/lib/classes/SimpleOrMapNodbTest.php | |
| parent | b04360fa8ebaa98f015bbb2b15649c1362c1d899 (diff) | |
clone records before fetching into them so that the after_initialize will always be called on a fresh object
Closes #1081
Merge request studip/studip!646
Diffstat (limited to 'tests/unit/lib/classes/SimpleOrMapNodbTest.php')
| -rw-r--r-- | tests/unit/lib/classes/SimpleOrMapNodbTest.php | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/tests/unit/lib/classes/SimpleOrMapNodbTest.php b/tests/unit/lib/classes/SimpleOrMapNodbTest.php index e5c333b..b364510 100644 --- a/tests/unit/lib/classes/SimpleOrMapNodbTest.php +++ b/tests/unit/lib/classes/SimpleOrMapNodbTest.php @@ -56,7 +56,7 @@ class SimpleOrMapNodbTest extends \Codeception\Test\Unit StudipTestHelper::tear_down_tables(); } - public function testConstruct() + public function testConstruct(): auth_user_md5 { $a = new auth_user_md5(); $this->assertInstanceOf('SimpleOrMap', $a); @@ -288,4 +288,25 @@ class SimpleOrMapNodbTest extends \Codeception\Test\Unit $this->assertEquals($a->toArray(), $unserialized->toArray()); } + + /** + * @depends testConstruct + * @covers SimpleORMap::__clone + */ + public function testClone(auth_user_md5 $a) + { + $queue = new SplStack(); + $queue->push(1); + $queue->push(2); + $queue->push(3); + + $a->additional_dummy_data = $queue; + + $b = clone $a; + + $this->assertEquals( + $a->additional_dummy_data->count(), + $b->additional_dummy_data->count() + ); + } } |
