aboutsummaryrefslogtreecommitdiff
path: root/tests/unit/lib/classes/SimpleOrMapNodbTest.php
diff options
context:
space:
mode:
authorJan-Hendrik Willms <tleilax+studip@gmail.com>2023-02-17 16:11:12 +0000
committerJan-Hendrik Willms <tleilax+studip@gmail.com>2023-02-17 16:11:12 +0000
commit64887e7a9f8874de012f4298e6f9c45ae38aefc5 (patch)
treeccab2186d149a141634766565e15b126a9ba71fa /tests/unit/lib/classes/SimpleOrMapNodbTest.php
parentb04360fa8ebaa98f015bbb2b15649c1362c1d899 (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.php23
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()
+ );
+ }
}