diff options
-rw-r--r-- | engine/lib/annotations.php | 11 | ||||
-rw-r--r-- | engine/lib/metadata.php | 2 | ||||
-rw-r--r-- | engine/tests/api/annotations.php | 46 | ||||
-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; |