From b62012bf3da994298ad52a4ccec06e814bcc5a79 Mon Sep 17 00:00:00 2001 From: nickw Date: Fri, 9 Oct 2009 17:11:25 +0000 Subject: Creating an ElggObject unit test. Fixing issues with the unit test plugin hooks, as well as infinite looping bugs introduced by the unit test skeleton. git-svn-id: http://code.elgg.org/elgg/trunk@3519 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/tests/objects/entities.php | 5 +++ engine/tests/objects/objects.php | 68 +++++++++++++++++++++++++++++++++++++++ engine/tests/test_skeleton.php | 6 ++-- 3 files changed, 75 insertions(+), 4 deletions(-) create mode 100644 engine/tests/objects/objects.php (limited to 'engine/tests') diff --git a/engine/tests/objects/entities.php b/engine/tests/objects/entities.php index be9c11a6f..f3f20024b 100644 --- a/engine/tests/objects/entities.php +++ b/engine/tests/objects/entities.php @@ -112,6 +112,11 @@ class ElggCoreEntityTest extends ElggCoreUnitTest { $annotations = $this->entity->getAnnotations('non_existent'); $this->assertIsA($annotations[0], 'ElggAnnotation'); $this->assertIdentical($annotations[0]->name, 'non_existent'); + $this->assertEqual($this->entity->countAnnotations('non_existent'), 1); + + // clear annotation + $this->assertTrue($this->entity->clearAnnotations()); + $this->assertEqual($this->entity->countAnnotations('non_existent'), 0); // clean up $this->assertTrue($this->entity->delete()); diff --git a/engine/tests/objects/objects.php b/engine/tests/objects/objects.php new file mode 100644 index 000000000..c9600ab6e --- /dev/null +++ b/engine/tests/objects/objects.php @@ -0,0 +1,68 @@ +entity = new ElggObjectTest(); + } + + /** + * Called after each test method. + */ + public function tearDown() { + unset($this->entity); + } + + /** + * Called after each test object. + */ + public function __destruct() { + parent::__destruct(); + } + + /** + * A basic test that will be called and fail. + */ + public function testElggEntityConstructor() { + $attributes = array(); + $attributes['guid'] = ''; + $attributes['type'] = 'object'; + $attributes['subtype'] = ''; + $attributes['owner_guid'] = get_loggedin_userid(); + $attributes['container_guid'] = get_loggedin_userid(); + $attributes['site_guid'] = 0; + $attributes['access_id'] = ACCESS_PRIVATE; + $attributes['time_created'] = ''; + $attributes['time_updated'] = ''; + $attributes['enabled'] = 'yes'; + $attributes['tables_split'] = 2; + $attributes['tables_loaded'] = 0; + $attributes['title'] = ''; + $attributes['description'] = ''; + + $this->assertIdentical($this->entity->expose_attributes(), $attributes); + } +} + +class ElggObjectTest extends ElggObject { + public function expose_attributes() { + return $this->attributes; + } +} diff --git a/engine/tests/test_skeleton.php b/engine/tests/test_skeleton.php index 494887bc2..42bbd4ba5 100644 --- a/engine/tests/test_skeleton.php +++ b/engine/tests/test_skeleton.php @@ -13,8 +13,7 @@ class ElggCoreSkeletonTest extends ElggCoreUnitTest { * Called before each test object. */ public function __construct() { - // first, hook into ElggCoreUnitTest::__construct() - $this->__construct(); + parent::__construct(); } /** @@ -35,8 +34,7 @@ class ElggCoreSkeletonTest extends ElggCoreUnitTest { * Called after each test object. */ public function __destruct() { - // hook into ElggCoreUnitTest::__destruct(); - $this->__destruct(); + parent::__destruct(); } /** -- cgit v1.2.3