function BrowserTestBase::installDrupal

Same name in other branches
  1. 9 core/tests/Drupal/Tests/BrowserTestBase.php \Drupal\Tests\BrowserTestBase::installDrupal()
  2. 8.9.x core/tests/Drupal/Tests/BrowserTestBase.php \Drupal\Tests\BrowserTestBase::installDrupal()
  3. 11.x core/tests/Drupal/Tests/BrowserTestBase.php \Drupal\Tests\BrowserTestBase::installDrupal()

Installs Drupal into the test site.

1 call to BrowserTestBase::installDrupal()
BrowserTestBase::setUp in core/tests/Drupal/Tests/BrowserTestBase.php
2 methods override BrowserTestBase::installDrupal()
InstallerTestBase::installDrupal in core/tests/Drupal/FunctionalTests/Installer/InstallerTestBase.php
We are testing the installer, so set up a minimal environment for that.
UpdatePathTestBase::installDrupal in core/tests/Drupal/FunctionalTests/Update/UpdatePathTestBase.php
Overrides BrowserTestBase::installDrupal() for update testing.

File

core/tests/Drupal/Tests/BrowserTestBase.php, line 567

Class

BrowserTestBase
Provides a test case for functional Drupal tests.

Namespace

Drupal\Tests

Code

public function installDrupal() {
    $this->initUserSession();
    $this->prepareSettings();
    $this->doInstall();
    $this->initSettings();
    $this->container = $container = $this->initKernel(\Drupal::request());
    $this->initConfig($container);
    $this->installDefaultThemeFromClassProperty($container);
    $this->installModulesFromClassProperty($container);
    // Clear the static cache so that subsequent cache invalidations will work
    // as expected.
    $this->container
        ->get('cache_tags.invalidator')
        ->resetChecksums();
    // Generate a route to prime the URL generator with the correct base URL.
    // @todo Remove in https://www.drupal.org/project/drupal/issues/3207896.
    Url::fromRoute('<front>')->setAbsolute()
        ->toString();
    // Explicitly call register() again on the container registered in \Drupal.
    // @todo This should already be called through
    //   DrupalKernel::prepareLegacyRequest() -> DrupalKernel::boot() but that
    //   appears to be calling a different container.
    $this->container
        ->get('stream_wrapper_manager')
        ->register();
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.