aboutsummaryrefslogtreecommitdiff
path: root/engine/tests/objects/objects.php
diff options
context:
space:
mode:
Diffstat (limited to 'engine/tests/objects/objects.php')
-rw-r--r--engine/tests/objects/objects.php48
1 files changed, 29 insertions, 19 deletions
diff --git a/engine/tests/objects/objects.php b/engine/tests/objects/objects.php
index d30e4fae4..8209917bf 100644
--- a/engine/tests/objects/objects.php
+++ b/engine/tests/objects/objects.php
@@ -103,30 +103,40 @@ class ElggCoreObjectTest extends ElggCoreUnitTest {
// clean up
$this->entity->delete();
}
-
- public function testElggObjectConstructorByObject() {
- $guid = $this->entity->save();
- // stdClass: use guid
- $object_row = $this->get_object_row($guid);
- $entity_row = $this->get_entity_row($guid);
- $this->assertIdentical($this->entity, new ElggObjectTest($object_row));
- $this->assertIdentical($this->entity, new ElggObjectTest($entity_row));
+ public function testElggObjectClone() {
+ $this->entity->title = 'testing';
+ $this->entity->description = 'ElggObject';
+ $this->entity->var1 = "test";
+ $this->entity->var2 = 1;
+ $this->entity->var3 = true;
+ $this->entity->save();
- // copy attributes of ElggObject
- $this->assertIdentical($this->entity, new ElggObjectTest($this->entity));
+ // add tag array
+ $tag_string = 'tag1, tag2, tag3';
+ $tagarray = string_to_tag_array($tag_string);
+ $this->entity->tags = $tagarray;
- // error on ElggEntity
- $entity = new ElggEntityTest($guid);
- try {
- $error = new ElggObjectTest($entity);
- $this->assertTrue(FALSE);
- } catch (Exception $e) {
- $this->assertIsA($e, 'InvalidParameterException');
- $this->assertIdentical($e->getMessage(), elgg_echo('InvalidParameterException:NonElggObject'));
- }
+ // a cloned ElggEntity has the guid reset
+ $object = clone $this->entity;
+ $this->assertIdentical(0, (int)$object->guid);
+
+ // make sure attributes were copied over
+ $this->assertIdentical($object->title, 'testing');
+ $this->assertIdentical($object->description, 'ElggObject');
+
+ $guid = $object->save();
+ $this->assertTrue($guid !== 0);
+ $this->assertTrue($guid !== $this->entity->guid);
+
+ // test that metadata was transfered
+ $this->assertIdentical($this->entity->var1, $object->var1);
+ $this->assertIdentical($this->entity->var2, $object->var2);
+ $this->assertIdentical($this->entity->var3, $object->var3);
+ $this->assertIdentical($this->entity->tags, $object->tags);
// clean up
+ $object->delete();
$this->entity->delete();
}