From 35e21e54e1122f98bede28f89d80f2fb13b3fd97 Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Thu, 15 Oct 2009 12:27:34 +0000 Subject: - Patch #412730 by Crell, jbomb, JohnAlbin: theme system should report when a theme key is not found. --- modules/simpletest/tests/theme.test | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'modules/simpletest/tests/theme.test') diff --git a/modules/simpletest/tests/theme.test b/modules/simpletest/tests/theme.test index 56860bd13..823a50c67 100644 --- a/modules/simpletest/tests/theme.test +++ b/modules/simpletest/tests/theme.test @@ -50,6 +50,23 @@ class TemplateUnitTest extends DrupalWebTestCase { $suggestions = array("page\0"); $this->assertEqual(drupal_discover_template(array('themes/garland'), $suggestions), 'themes/garland/page.tpl.php', t('Unsafe template suggestion fixed')); } + + /** + * Test that not-found theme hook throw a proper exception. + */ + function testThemeHookNotFound() { + try { + theme('this_does_not_exist'); + + $this->fail(t('Exception not thrown for invalid theme hook.')); + } + catch (ThemeHookNotFoundException $e) { + $this->assertEqual($e->getMessage(), t('Theme hook "this_does_not_exist" not found.'), t('Correct exception thrown with correct error message.')); + } + catch (Exception $e) { + $this->fail(t('Exception of type "@type" thrown instead of ThemeHookNotFoundException.', array('@type' => gettype($e)))); + } + } } /** @@ -63,7 +80,7 @@ class ThemeTableUnitTest extends DrupalWebTestCase { 'group' => 'Theme', ); } - + /** * Tableheader.js provides 'sticky' table headers, and is included by default. */ -- cgit v1.2.3