39 lines
1.2 KiB
Plaintext
39 lines
1.2 KiB
Plaintext
|
<?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));
|
||
|
}
|
||
|
}
|
||
|
}
|