From 65a1528f0529306e3a7a84208c435cfb7cebe3a5 Mon Sep 17 00:00:00 2001 From: Angie Byron Date: Tue, 4 Aug 2009 04:02:26 +0000 Subject: #341140 by JohnAlbin and chx: Allow drupal_get_path() to be used even when database is down. --- modules/simpletest/tests/bootstrap.test | 36 ++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) (limited to 'modules/simpletest/tests') diff --git a/modules/simpletest/tests/bootstrap.test b/modules/simpletest/tests/bootstrap.test index a0e70776b..14741e690 100644 --- a/modules/simpletest/tests/bootstrap.test +++ b/modules/simpletest/tests/bootstrap.test @@ -227,7 +227,7 @@ class BootstrapVariableTestCase extends DrupalWebTestCase { } /** - * Test hook_boot and hook_exit. + * Test hook_boot() and hook_exit(). */ class HookBootExitTestCase extends DrupalWebTestCase { @@ -279,3 +279,37 @@ class HookBootExitTestCase extends DrupalWebTestCase { } } +/** + * Test drupal_get_filename()'s availability. + */ +class BootstrapGetFilenameTestCase extends DrupalUnitTestCase { + + public static function getInfo() { + return array( + 'name' => t('Get Filename Test'), + 'description' => t('Test that drupal_get_filename() works correctly when the file is not found in the database.'), + 'group' => t('Bootstrap'), + ); + } + + /** + * Test that drupal_get_filename() works correctly when the file is not found in the database. + */ + function testDrupalGetFilename() { + // Reset the static cache so we can test the "db is not active" code of + // drupal_get_filename(). + drupal_static_reset('drupal_get_filename'); + + // Retrieving the location of a module. + $this->assertIdentical(drupal_get_filename('module', 'php'), 'modules/php/php.module', t('Retrieve module location.')); + + // Retrieving the location of a theme. + $this->assertIdentical(drupal_get_filename('theme', 'stark'), 'themes/stark/stark.info', t('Retrieve theme location.')); + + // Retrieving the location of a theme engine. + $this->assertIdentical(drupal_get_filename('theme_engine', 'phptemplate'), 'themes/engines/phptemplate/phptemplate.engine', t('Retrieve theme engine location.')); + + // Retrieving a file that is definitely not stored in the database. + $this->assertIdentical(drupal_get_filename('profile', 'default'), 'profiles/default/default.profile', t('Retrieve install profile location.')); + } +} -- cgit v1.2.3