diff options
Diffstat (limited to 'js/tests/ElggHooksTest.js')
-rw-r--r-- | js/tests/ElggHooksTest.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/js/tests/ElggHooksTest.js b/js/tests/ElggHooksTest.js new file mode 100644 index 000000000..e7a2440e7 --- /dev/null +++ b/js/tests/ElggHooksTest.js @@ -0,0 +1,28 @@ +ElggHooksTest = TestCase("ElggHooksTest"); + +ElggHooksTest.prototype.setUp = function() { + elgg.config.hooks = {}; + elgg.provide('elgg.config.hooks.all.all'); +}; + +ElggHooksTest.prototype.testHookHandlersMustBeFunctions = function () { + assertException(function() { elgg.register_hook_handler('str', 'str', 'oops'); }); +}; + +ElggHooksTest.prototype.testReturnValueDefaultsToTrue = function () { + assertTrue(elgg.trigger_hook('fee', 'fum')); + + elgg.register_hook_handler('fee', 'fum', elgg.nullFunction); + assertTrue(elgg.trigger_hook('fee', 'fum')); +}; + +ElggHooksTest.prototype.testCanGlomHooksWithAll = function () { + elgg.register_hook_handler('all', 'bar', elgg.abstractMethod); + assertException("all,bar", function() { elgg.trigger_hook('foo', 'bar'); }); + + elgg.register_hook_handler('foo', 'all', elgg.abstractMethod); + assertException("foo,all", function() { elgg.trigger_hook('foo', 'baz'); }); + + elgg.register_hook_handler('all', 'all', elgg.abstractMethod); + assertException("all,all", function() { elgg.trigger_hook('pinky', 'winky'); }); +};
\ No newline at end of file |