aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engine/tests/api/helpers.php92
1 files changed, 91 insertions, 1 deletions
diff --git a/engine/tests/api/helpers.php b/engine/tests/api/helpers.php
index 76b5b38f8..6afcd0ef8 100644
--- a/engine/tests/api/helpers.php
+++ b/engine/tests/api/helpers.php
@@ -28,6 +28,9 @@ class ElggCoreHelpersTest extends ElggCoreUnitTest {
public function tearDown() {
// do not allow SimpleTest to interpret Elgg notices as exceptions
$this->swallowErrors();
+
+ global $CONFIG;
+ unset($CONFIG->externals);
}
/**
@@ -40,7 +43,6 @@ class ElggCoreHelpersTest extends ElggCoreUnitTest {
/**
* Test elgg_instanceof()
- * @return unknown_type
*/
public function testElggInstanceOf() {
$entity = new ElggObject();
@@ -60,6 +62,94 @@ class ElggCoreHelpersTest extends ElggCoreUnitTest {
$this->assertFalse(elgg_instanceof($bad_entity));
$this->assertFalse(elgg_instanceof($bad_entity, 'object'));
$this->assertFalse(elgg_instanceof($bad_entity, 'object', 'test_subtype'));
+ }
+
+ /**
+ * Test elgg_register_js()
+ */
+ public function testElggRegisterJS() {
+ global $CONFIG;
+
+ // specify id
+ $result = elgg_register_js('test1', 'key', 'footer');
+ $this->assertTrue($result);
+ $this->assertIdentical('test1', $CONFIG->externals['javascript']['footer']['key']);
+
+ // let Elgg pick id
+ $result = elgg_register_js('test2');
+ $this->assertTrue($result);
+ $this->assertIdentical('test2', $CONFIG->externals['javascript']['head'][0]);
+
+ // send a bad url
+ $result = elgg_register_js();
+ $this->assertFalse($result);
+ }
+
+ /**
+ * Test elgg_register_css()
+ */
+ public function testElggRegisterCSS() {
+ global $CONFIG;
+
+ // specify id
+ $result = elgg_register_css('test1', 'key');
+ $this->assertTrue($result);
+ $this->assertIdentical('test1', $CONFIG->externals['css']['head']['key']);
+
+ // let Elgg pick id
+ $result = elgg_register_css('test2');
+ $this->assertTrue($result);
+ $this->assertIdentical('test2', $CONFIG->externals['css']['head'][1]);
+
+ // send a bad url
+ $result = elgg_register_js();
+ $this->assertFalse($result);
+ }
+
+ /**
+ * Test elgg_unregister_js()
+ */
+ public function testElggUnregisterJS() {
+ global $CONFIG;
+
+ $urls = array('id1' => 'url1', 'id2' => 'url2', 'id3' => 'url3');
+ foreach ($urls as $id => $url) {
+ elgg_register_js($url, $id);
+ }
+
+ $result = elgg_unregister_js('id1');
+ $this->assertTrue($result);
+ $this->assertNULL($CONFIG->externals['javascript']['head']['id1']);
+
+ $result = elgg_unregister_js('', 'url2');
+ $this->assertTrue($result);
+ $this->assertNULL($CONFIG->externals['javascript']['head']['id2']);
+
+ $result = elgg_unregister_js('id1');
+ $this->assertFalse($result);
+ $result = elgg_unregister_js('', 'url2');
+ $this->assertFalse($result);
+
+ $this->assertIdentical('url3', $CONFIG->externals['javascript']['head']['id3']);
+ }
+
+ /**
+ * Test elgg_get_js()
+ */
+ public function testElggGetJS() {
+ global $CONFIG;
+
+ $urls = array('id1' => 'url1', 'id2' => 'url2', 'id3' => 'url3');
+ foreach ($urls as $id => $url) {
+ elgg_register_js($url, $id);
+ }
+
+ $js_urls = elgg_get_js('head');
+ $this->assertIdentical($js_urls[0], $urls['id1']);
+ $this->assertIdentical($js_urls[1], $urls['id2']);
+ $this->assertIdentical($js_urls[2], $urls['id3']);
+ $js_urls = elgg_get_js('footer');
+ $this->assertIdentical(array(), $js_urls);
}
}