| 1234567891011121314151617181920212223242526272829303132333435363738 | <?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));    }  }}
 |