function TermTranslationTest::testTranslatedBreadcrumbs
Same name in other branches
- 8.9.x core/modules/taxonomy/tests/src/Functional/TermTranslationTest.php \Drupal\Tests\taxonomy\Functional\TermTranslationTest::testTranslatedBreadcrumbs()
- 10 core/modules/taxonomy/tests/src/Functional/TermTranslationTest.php \Drupal\Tests\taxonomy\Functional\TermTranslationTest::testTranslatedBreadcrumbs()
- 11.x core/modules/taxonomy/tests/src/Functional/TermTranslationTest.php \Drupal\Tests\taxonomy\Functional\TermTranslationTest::testTranslatedBreadcrumbs()
Tests translated breadcrumbs.
File
-
core/
modules/ taxonomy/ tests/ src/ Functional/ TermTranslationTest.php, line 61
Class
- TermTranslationTest
- Tests for proper breadcrumb translation.
Namespace
Drupal\Tests\taxonomy\FunctionalCode
public function testTranslatedBreadcrumbs() {
// Ensure non-translated breadcrumb is correct.
$breadcrumb = [
Url::fromRoute('<front>')->toString() => 'Home',
];
foreach ($this->terms as $term) {
$breadcrumb[$term->toUrl()
->toString()] = $term->label();
}
// The last item will not be in the breadcrumb.
array_pop($breadcrumb);
// Check the breadcrumb on the leaf term page.
$term = $this->getLeafTerm();
$this->assertBreadcrumb($term->toUrl(), $breadcrumb, $term->label());
$languages = \Drupal::languageManager()->getLanguages();
// Construct the expected translated breadcrumb.
$breadcrumb = [
Url::fromRoute('<front>', [], [
'language' => $languages[$this->translateToLangcode],
])
->toString() => 'Home',
];
foreach ($this->terms as $term) {
$translated = $term->getTranslation($this->translateToLangcode);
$url = $translated->toUrl('canonical', [
'language' => $languages[$this->translateToLangcode],
])
->toString();
$breadcrumb[$url] = $translated->label();
}
array_pop($breadcrumb);
// Check for the translated breadcrumb on the translated leaf term page.
$term = $this->getLeafTerm();
$translated = $term->getTranslation($this->translateToLangcode);
$this->assertBreadcrumb($translated->toUrl('canonical', [
'language' => $languages[$this->translateToLangcode],
]), $breadcrumb, $translated->label());
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.