From: cash Date: Sat, 26 Mar 2011 14:31:14 +0000 (+0000) Subject: Closes #3202 'count' already supported, added unit tests X-Git-Url: https://gitweb.fluxo.info/?a=commitdiff_plain;h=f48bd5099f033cc148f9c1e3f781f8c932bda891;p=lorea%2Felgg.git Closes #3202 'count' already supported, added unit tests git-svn-id: http://code.elgg.org/elgg/trunk@8840 36083f99-b078-4883-b0ff-0f9b5a30f544 --- 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 @@ +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 similarity index 85% rename from engine/tests/objects/metadata.php rename to 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 @@ 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;