public function TermLanguageTest::testTermLanguage in Drupal 8
Same name and namespace in other branches
- 9 core/modules/taxonomy/tests/src/Functional/TermLanguageTest.php \Drupal\Tests\taxonomy\Functional\TermLanguageTest::testTermLanguage()
File
- core/
modules/ taxonomy/ tests/ src/ Functional/ TermLanguageTest.php, line 47
Class
- TermLanguageTest
- Tests the language functionality for the taxonomy terms.
Namespace
Drupal\Tests\taxonomy\FunctionalCode
public function testTermLanguage() {
// Configure the vocabulary to not hide the language selector.
$edit = [
'default_language[language_alterable]' => TRUE,
];
$this
->drupalPostForm('admin/structure/taxonomy/manage/' . $this->vocabulary
->id(), $edit, t('Save'));
// Add a term.
$this
->drupalGet('admin/structure/taxonomy/manage/' . $this->vocabulary
->id() . '/add');
// Check that we have the language selector.
$this
->assertField('edit-langcode-0-value', t('The language selector field was found on the page.'));
// Submit the term.
$edit = [
'name[0][value]' => $this
->randomMachineName(),
'langcode[0][value]' => 'aa',
];
$this
->drupalPostForm(NULL, $edit, t('Save'));
$terms = taxonomy_term_load_multiple_by_name($edit['name[0][value]']);
$term = reset($terms);
$this
->assertEqual($term
->language()
->getId(), $edit['langcode[0][value]'], 'The term contains the correct langcode.');
// Check if on the edit page the language is correct.
$this
->drupalGet('taxonomy/term/' . $term
->id() . '/edit');
$this
->assertOptionSelected('edit-langcode-0-value', $edit['langcode[0][value]'], 'The term language was correctly selected.');
// Change the language of the term.
$edit['langcode[0][value]'] = 'bb';
$this
->drupalPostForm('taxonomy/term/' . $term
->id() . '/edit', $edit, t('Save'));
// Check again that on the edit page the language is correct.
$this
->drupalGet('taxonomy/term/' . $term
->id() . '/edit');
$this
->assertOptionSelected('edit-langcode-0-value', $edit['langcode[0][value]'], 'The term language was correctly selected.');
}