diff options
Diffstat (limited to 'modules/simpletest/tests/theme_test.module')
-rw-r--r-- | modules/simpletest/tests/theme_test.module | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/modules/simpletest/tests/theme_test.module b/modules/simpletest/tests/theme_test.module index 52359778f..d11705bea 100644 --- a/modules/simpletest/tests/theme_test.module +++ b/modules/simpletest/tests/theme_test.module @@ -12,11 +12,37 @@ function theme_test_menu() { 'theme callback' => '_theme_custom_theme', 'type' => MENU_CALLBACK, ); - + $items['theme-test/hook-init'] = array( + 'page callback' => 'theme_test_hook_init_page_callback', + 'access callback' => TRUE, + 'type' => MENU_CALLBACK, + ); return $items; } /** + * Implements hook_init(). + */ +function theme_test_init() { + // First, force the theme registry to be rebuilt on this page request. This + // allows us to test a full initialization of the theme system in the code + // below. + drupal_theme_rebuild(); + // Next, initialize the theme system by storing themed text in a global + // variable. We will use this later in theme_test_hook_init_page_callback() + // to test that even when the theme system is initialized this early, it is + // still capable of returning output and theming the page as a whole. + $GLOBALS['theme_test_output'] = theme('more_link', array('url' => url('user'), 'title' => 'Themed output generated in hook_init()')); +} + +/** + * Menu callback for testing themed output generated in hook_init(). + */ +function theme_test_hook_init_page_callback() { + return $GLOBALS['theme_test_output']; +} + +/** * Custom theme callback. */ function _theme_custom_theme() { |