aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engine/lib/annotations.php11
-rw-r--r--engine/lib/metadata.php2
-rw-r--r--engine/tests/api/annotations.php46
-rw-r--r--engine/tests/api/metadata.php (renamed from engine/tests/objects/metadata.php)23
4 files changed, 79 insertions, 3 deletions
diff --git a/engine/lib/annotations.php b/engine/lib/annotations.php
index 130ab37ab..0e446c949 100644
--- a/engine/lib/annotations.php
+++ b/engine/lib/annotations.php
@@ -536,3 +536,14 @@ function elgg_register_annotation_url_handler($extender_name = "all", $function_
/** Register the hook */
elgg_register_plugin_hook_handler("export", "all", "export_annotation_plugin_hook", 2);
+
+elgg_register_plugin_hook_handler('unit_test', 'system', 'annotations_test');
+
+/**
+ * Register annotation unit tests
+ */
+function annotations_test($hook, $type, $value, $params) {
+ global $CONFIG;
+ $value[] = $CONFIG->path . 'engine/tests/api/annotations.php';
+ return $value;
+}
diff --git a/engine/lib/metadata.php b/engine/lib/metadata.php
index 3182ed077..cc9212711 100644
--- a/engine/lib/metadata.php
+++ b/engine/lib/metadata.php
@@ -900,6 +900,6 @@ elgg_register_plugin_hook_handler('unit_test', 'system', 'metadata_test');
*/
function metadata_test($hook, $type, $value, $params) {
global $CONFIG;
- $value[] = $CONFIG->path . 'engine/tests/objects/metadata.php';
+ $value[] = $CONFIG->path . 'engine/tests/api/metadata.php';
return $value;
} \ No newline at end of file
diff --git a/engine/tests/api/annotations.php b/engine/tests/api/annotations.php
new file mode 100644
index 000000000..d7551a0fa
--- /dev/null
+++ b/engine/tests/api/annotations.php
@@ -0,0 +1,46 @@
+<?php
+/**
+ * Elgg Test annotation api
+ *
+ * @package Elgg
+ * @subpackage Test
+ */
+class ElggCoreAnnotationAPITest extends ElggCoreUnitTest {
+ protected $metastrings;
+
+ /**
+ * Called before each test method.
+ */
+ public function setUp() {
+ $this->object = new ElggObject();
+ }
+
+ /**
+ * Called after each test method.
+ */
+ public function tearDown() {
+ // do not allow SimpleTest to interpret Elgg notices as exceptions
+ $this->swallowErrors();
+
+ unset($this->object);
+ }
+
+ public function testElggGetAnnotationsCount() {
+ $this->object->title = 'Annotation Unit Test';
+ $this->object->save();
+
+ $guid = $this->object->getGUID();
+ create_annotation($guid, 'tested', 'tested1', 'text', 0, ACCESS_PUBLIC);
+ create_annotation($guid, 'tested', 'tested2', 'text', 0, ACCESS_PUBLIC);
+
+ $count = (int)elgg_get_annotations(array(
+ 'annotation_names' => array('tested'),
+ 'guid' => $guid,
+ 'count' => true,
+ ));
+
+ $this->assertIdentical($count, 2);
+
+ $this->object->delete();
+ }
+}
diff --git a/engine/tests/objects/metadata.php b/engine/tests/api/metadata.php
index b5b9aba02..d9113b68a 100644
--- a/engine/tests/objects/metadata.php
+++ b/engine/tests/api/metadata.php
@@ -1,11 +1,11 @@
<?php
/**
- * Elgg Test ElggMetadata
+ * Elgg Test metadata API
*
* @package Elgg
* @subpackage Test
*/
-class ElggCoreMetadataTest extends ElggCoreUnitTest {
+class ElggCoreMetadataAPITest extends ElggCoreUnitTest {
protected $metastrings;
/**
@@ -87,6 +87,25 @@ class ElggCoreMetadataTest extends ElggCoreUnitTest {
$this->object->delete();
}
+ public function testElggGetMetadataCount() {
+ $this->object->title = 'Meta Unit Test';
+ $this->object->save();
+
+ $guid = $this->object->getGUID();
+ create_metadata($guid, 'tested', 'tested1', 'text', 0, ACCESS_PUBLIC, true);
+ create_metadata($guid, 'tested', 'tested2', 'text', 0, ACCESS_PUBLIC, true);
+
+ $count = (int)elgg_get_metadata(array(
+ 'metadata_names' => array('tested'),
+ 'guid' => $guid,
+ 'count' => true,
+ ));
+
+ $this->assertIdentical($count, 2);
+
+ $this->object->delete();
+ }
+
protected function create_metastring($string) {
global $CONFIG, $METASTRINGS_CACHE, $METASTRINGS_DEADNAME_CACHE;