summaryrefslogtreecommitdiff
path: root/modules/simpletest
diff options
context:
space:
mode:
Diffstat (limited to 'modules/simpletest')
-rw-r--r--modules/simpletest/tests/module.test20
-rw-r--r--modules/simpletest/tests/module_test.file.inc2
-rw-r--r--modules/simpletest/tests/module_test.module39
3 files changed, 60 insertions, 1 deletions
diff --git a/modules/simpletest/tests/module.test b/modules/simpletest/tests/module.test
index d3e3dbf1b..711a739ab 100644
--- a/modules/simpletest/tests/module.test
+++ b/modules/simpletest/tests/module.test
@@ -112,6 +112,26 @@ class ModuleUnitTest extends DrupalWebTestCase {
}
/**
+ * Test that module_invoke() can load a hook defined in hook_hook_info().
+ */
+ function testModuleInvoke() {
+ module_enable(array('module_test'), FALSE);
+ $this->resetAll();
+ $this->drupalGet('module-test/hook-dynamic-loading-invoke');
+ $this->assertText('success!', t('module_invoke() dynamically loads a hook defined in hook_hook_info().'));
+ }
+
+ /**
+ * Test that module_invoke_all() can load a hook defined in hook_hook_info().
+ */
+ function testModuleInvokeAll() {
+ module_enable(array('module_test'), FALSE);
+ $this->resetAll();
+ $this->drupalGet('module-test/hook-dynamic-loading-invoke-all');
+ $this->assertText('success!', t('module_invoke_all() dynamically loads a hook defined in hook_hook_info().'));
+ }
+
+ /**
* Test dependency resolution.
*/
function testDependencyResolution() {
diff --git a/modules/simpletest/tests/module_test.file.inc b/modules/simpletest/tests/module_test.file.inc
index f3c354f35..72210d768 100644
--- a/modules/simpletest/tests/module_test.file.inc
+++ b/modules/simpletest/tests/module_test.file.inc
@@ -10,5 +10,5 @@
* Implements hook_test_hook().
*/
function module_test_test_hook() {
-
+ return array('module_test' => 'success!');
}
diff --git a/modules/simpletest/tests/module_test.module b/modules/simpletest/tests/module_test.module
index b1f7361a0..d3f46e2cb 100644
--- a/modules/simpletest/tests/module_test.module
+++ b/modules/simpletest/tests/module_test.module
@@ -52,6 +52,45 @@ function module_test_hook_info() {
}
/**
+ * Implements hook_menu().
+ */
+function module_test_menu() {
+ $items['module-test/hook-dynamic-loading-invoke'] = array(
+ 'title' => 'Test hook dynamic loading (invoke)',
+ 'page callback' => 'module_test_hook_dynamic_loading_invoke',
+ 'access arguments' => array('access content'),
+ );
+ $items['module-test/hook-dynamic-loading-invoke-all'] = array(
+ 'title' => 'Test hook dynamic loading (invoke_all)',
+ 'page callback' => 'module_test_hook_dynamic_loading_invoke_all',
+ 'access arguments' => array('access content'),
+ );
+ return $items;
+}
+
+/**
+ * Page callback for 'hook dynamic loading' test.
+ *
+ * If the hook is dynamically loaded correctly, the menu callback should
+ * return 'success!'.
+ */
+function module_test_hook_dynamic_loading_invoke() {
+ $result = module_invoke('module_test', 'test_hook');
+ return $result['module_test'];
+}
+
+/**
+ * Page callback for 'hook dynamic loading' test.
+ *
+ * If the hook is dynamically loaded correctly, the menu callback should
+ * return 'success!'.
+ */
+function module_test_hook_dynamic_loading_invoke_all() {
+ $result = module_invoke_all('test_hook');
+ return $result['module_test'];
+}
+
+/**
* Implements hook_modules_enabled().
*/
function module_test_modules_enabled($modules) {