From 014ba7d5c18172db7ff6940df12f0a785c9acbdb Mon Sep 17 00:00:00 2001 From: nickw Date: Fri, 12 Nov 2010 23:37:29 +0000 Subject: Updating ElggEntity::clearMetaData() to fail when passed a non-existent metadata name. Fixes #2273 git-svn-id: http://code.elgg.org/elgg/trunk@7301 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/tests/objects/entities.php | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'engine/tests/objects') diff --git a/engine/tests/objects/entities.php b/engine/tests/objects/entities.php index 018f7aa02..1f1f6d2b4 100644 --- a/engine/tests/objects/entities.php +++ b/engine/tests/objects/entities.php @@ -205,6 +205,29 @@ class ElggCoreEntityTest extends ElggCoreUnitTest { $this->assertTrue($this->entity->enable()); $this->assertTrue($this->entity->delete()); } + + public function testElggEntityMetadata() { + // let's delte a non-existent metadata + $this->assertFalse($this->entity->clearMetaData('important')); + + // let's add the meatadata + $this->assertTrue($this->entity->important = 'indeed!'); + $this->assertTrue($this->entity->less_important = 'true, too!'); + $this->save_entity(); + + // test deleting incorrectly: Ticket #2273 + $this->assertFalse($this->entity->clearMetaData('impotent')); + $this->assertEqual($this->entity->important, 'indeed!'); + + // get rid of one metadata + $this->assertEqual($this->entity->important, 'indeed!'); + $this->assertTrue($this->entity->clearMetaData('important')); + $this->assertEqual($this->entity->important, ''); + + // get rid of all metadata + $this->assertTrue($this->entity->clearMetaData()); + $this->assertEqual($this->entity->less_important, ''); + } public function testElggEntityExportables() { $exportables = array( -- cgit v1.2.3