function LanguageBrowserDetectionAcceptLanguageTest::setUp

Same name and namespace in other branches
  1. 9 core/modules/language/tests/src/Functional/LanguageBrowserDetectionAcceptLanguageTest.php \Drupal\Tests\language\Functional\LanguageBrowserDetectionAcceptLanguageTest::setUp()
  2. 8.9.x core/modules/language/tests/src/Functional/LanguageBrowserDetectionAcceptLanguageTest.php \Drupal\Tests\language\Functional\LanguageBrowserDetectionAcceptLanguageTest::setUp()
  3. 11.x core/modules/language/tests/src/Functional/LanguageBrowserDetectionAcceptLanguageTest.php \Drupal\Tests\language\Functional\LanguageBrowserDetectionAcceptLanguageTest::setUp()

Overrides BrowserTestBase::setUp

File

core/modules/language/tests/src/Functional/LanguageBrowserDetectionAcceptLanguageTest.php, line 35

Class

LanguageBrowserDetectionAcceptLanguageTest
Tests browser language detection with different accept-language headers.

Namespace

Drupal\Tests\language\Functional

Code

protected function setUp() : void {
  parent::setUp();
  // User to manage languages.
  $admin = $this->drupalCreateUser([], NULL, TRUE);
  $this->drupalLogin($admin);
  // Create FR.
  ConfigurableLanguage::createFromLangcode('fr')->save();
  // Set language detection to URL and browser detection.
  $this->drupalGet('/admin/config/regional/language/detection');
  $this->submitForm([
    'language_interface[enabled][language-url]' => TRUE,
    'language_interface[enabled][language-browser]' => TRUE,
    'language_interface[enabled][language-selected]' => TRUE,
  ], 'Save settings');
  // Set prefixes to en and fr.
  $this->drupalGet('/admin/config/regional/language/detection/url');
  $this->submitForm([
    'prefix[en]' => 'en',
    'prefix[fr]' => 'fr',
  ], 'Save configuration');
  // Add language codes to browser detection.
  $this->drupalGet('/admin/config/regional/language/detection/browser');
  $this->submitForm([
    'new_mapping[browser_langcode]' => 'fr',
    'new_mapping[drupal_langcode]' => 'fr',
  ], 'Save configuration');
  $this->drupalGet('/admin/config/regional/language/detection/browser');
  $this->submitForm([
    'new_mapping[browser_langcode]' => 'en',
    'new_mapping[drupal_langcode]' => 'en',
  ], 'Save configuration');
  $this->drupalGet('/admin/config/regional/language/detection/selected');
  $this->submitForm([
    'edit-selected-langcode' => 'en',
  ], 'Save configuration');
  $this->drupalLogout();
}

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