diff options
Diffstat (limited to 'modules/simpletest')
-rw-r--r-- | modules/simpletest/tests/module.test | 20 | ||||
-rw-r--r-- | modules/simpletest/tests/module_test.file.inc | 2 | ||||
-rw-r--r-- | modules/simpletest/tests/module_test.module | 39 |
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) { |