function BrowserTestBase::getDrupalSettings

Same name and namespace in other branches
  1. 11.x core/tests/Drupal/Tests/BrowserTestBase.php \Drupal\Tests\BrowserTestBase::getDrupalSettings()
  2. 10 core/tests/Drupal/Tests/BrowserTestBase.php \Drupal\Tests\BrowserTestBase::getDrupalSettings()
  3. 8.9.x core/tests/Drupal/Tests/BrowserTestBase.php \Drupal\Tests\BrowserTestBase::getDrupalSettings()

Gets the JavaScript drupalSettings variable for the currently-loaded page.

Return value

array The JSON decoded drupalSettings value from the current page.

2 calls to BrowserTestBase::getDrupalSettings()
LanguageSwitchingTest::doTestLanguageBlockAuthenticated in core/modules/language/tests/src/Functional/LanguageSwitchingTest.php
For authenticated users, the "active" class is set by JavaScript.
LanguageSwitchingTest::doTestLanguageLinkActiveClassAuthenticated in core/modules/language/tests/src/Functional/LanguageSwitchingTest.php
For authenticated users, the "active" class is set by JavaScript.

File

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

Class

BrowserTestBase
Provides a test case for functional Drupal tests.

Namespace

Drupal\Tests

Code

protected function getDrupalSettings() {
  $html = $this->getSession()
    ->getPage()
    ->getContent();
  if (preg_match('@<script type="application/json" data-drupal-selector="drupal-settings-json">([^<]*)</script>@', $html, $matches)) {
    return Json::decode($matches[1]);
  }
  return [];
}

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