aboutsummaryrefslogtreecommitdiff
path: root/engine/tests/api/metadata.php
diff options
context:
space:
mode:
authorBrett Profitt <brett.profitt@gmail.com>2012-01-10 16:54:49 -0800
committerBrett Profitt <brett.profitt@gmail.com>2012-01-10 16:54:49 -0800
commita3f0353600e749a16abbdab3cbc75b3469d6fd69 (patch)
treefc534efde38eebc2db7b9b8d5044b9943dc93db2 /engine/tests/api/metadata.php
parent0fe0f9d6dc6577d39bf0615c0e714c7fa7d2ebf3 (diff)
downloadelgg-a3f0353600e749a16abbdab3cbc75b3469d6fd69.tar.gz
elgg-a3f0353600e749a16abbdab3cbc75b3469d6fd69.tar.bz2
Fixes #4269. Not using ElggBatch to delete metadata / annotations. Added unit tests for deleting annotations/md. Fixed an annoying inconsistency with "metastring/s" option in private functions.
Diffstat (limited to 'engine/tests/api/metadata.php')
-rw-r--r--engine/tests/api/metadata.php25
1 files changed, 25 insertions, 0 deletions
diff --git a/engine/tests/api/metadata.php b/engine/tests/api/metadata.php
index f5b615ca8..be8ac269c 100644
--- a/engine/tests/api/metadata.php
+++ b/engine/tests/api/metadata.php
@@ -99,6 +99,31 @@ class ElggCoreMetadataAPITest extends ElggCoreUnitTest {
$this->object->delete();
}
+ public function testElggDeleteMetadata() {
+ $e = new ElggObject();
+ $e->save();
+
+ for ($i=0; $i<30; $i++) {
+ $name = "test_metadata" . rand(0, 10000);
+ $e->$name = rand(0, 10000);
+ }
+
+ $options = array(
+ 'guid' => $e->getGUID(),
+ 'limit' => 0
+ );
+
+ $md = elgg_get_metadata($options);
+ $this->assertIdentical(30, count($md));
+
+ $this->assertTrue(elgg_delete_metadata($options));
+
+ $md = elgg_get_metadata($options);
+ $this->assertTrue(empty($md));
+
+ $e->delete();
+ }
+
protected function create_metastring($string) {
global $CONFIG, $METASTRINGS_CACHE, $METASTRINGS_DEADNAME_CACHE;