diff options
Diffstat (limited to 'modules/simpletest/tests/boot.test')
-rw-r--r-- | modules/simpletest/tests/boot.test | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/modules/simpletest/tests/boot.test b/modules/simpletest/tests/boot.test new file mode 100644 index 000000000..562b082e8 --- /dev/null +++ b/modules/simpletest/tests/boot.test @@ -0,0 +1,38 @@ +<?php + +/** + * Perform early bootstrap tests. + */ +class EarlyBootstrapTestCase extends DrupalWebTestCase { + public static function getInfo() { + return array( + 'name' => 'Early bootstrap test', + 'description' => 'Confirm that calling module_implements() during early bootstrap does not pollute the module_implements() cache.', + 'group' => 'System', + ); + } + + function setUp() { + parent::setUp('boot_test_1', 'boot_test_2'); + } + + /** + * Test hook_boot() on both regular and "early exit" pages. + */ + public function testHookBoot() { + $paths = array('', 'early_exit'); + foreach ($paths as $path) { + // Empty the module_implements() caches. + module_implements(NULL, FALSE, TRUE); + // Do a request to the front page, which will call module_implements() + // during hook_boot(). + $this->drupalGet($path); + // Reset the static cache so we get implementation data from the persistent + // cache. + drupal_static_reset(); + // Make sure we get a full list of all modules implementing hook_help(). + $modules = module_implements('help'); + $this->assertTrue(in_array('boot_test_2', $modules)); + } + } +} |