LanguageSwitchingTest.php in Language Switcher Dropdown 8.2
File
tests/src/Functional/LanguageSwitchingTest.php
View source
<?php
namespace Drupal\Tests\lang_dropdown\Functional;
use Drupal\Core\Language\LanguageInterface;
use Drupal\Tests\BrowserTestBase;
class LanguageSwitchingTest extends BrowserTestBase {
protected $defaultTheme = 'stable';
public static $modules = [
'block',
'language',
'lang_dropdown',
'locale',
];
protected function setUp() {
parent::setUp();
$admin_user = $this
->drupalCreateUser([
'administer blocks',
'administer languages',
'access administration pages',
]);
$this
->drupalLogin($admin_user);
}
public function testLanguageSessionSwitchLinks() {
$edit = [
'predefined_langcode' => 'fr',
];
$this
->drupalPostForm('admin/config/regional/language/add', $edit, t('Add language'));
$edit = [
'language_interface[enabled][language-url]' => FALSE,
'language_interface[enabled][language-session]' => TRUE,
];
$this
->drupalPostForm('admin/config/regional/language/detection', $edit, t('Save settings'));
$this
->drupalPlaceBlock('language_dropdown_block:' . LanguageInterface::TYPE_INTERFACE, [
'id' => 'test_language_dropdown_block',
]);
$this
->drupalGet('');
$this
->assertEqual(1, count($this
->cssSelect('#edit-lang-dropdown-select option[selected=selected]:contains(English)')));
$this
->drupalGet('', [
'query' => [
'language' => 'fr',
],
]);
$this
->assertEqual(1, count($this
->cssSelect('#edit-lang-dropdown-select option[selected=selected]:contains(French)')));
}
}