function NavigationIconTest::testNavigationIcon
Tests the behavior of custom icons.
File
-
core/
modules/ navigation/ tests/ src/ Functional/ NavigationIconTest.php, line 41
Class
- NavigationIconTest
- Tests Navigation Icon behavior.
Namespace
Drupal\Tests\navigation\FunctionalCode
public function testNavigationIcon() : void {
$this->drupalGet('/test-page');
$this->assertSession()
->elementAttributeContains('css', 'a.toolbar-button--icon--star svg', 'width', '25');
$this->assertSession()
->elementAttributeContains('css', 'a.toolbar-button--icon--star svg', 'class', 'toolbar-button__icon foo');
$this->assertSession()
->elementAttributeContains('css', 'a.toolbar-button--icon--pencil svg', 'width', '20');
$this->assertSession()
->elementAttributeContains('css', 'a.toolbar-button--icon--pencil svg', 'class', 'toolbar-button__icon');
$this->assertSession()
->elementAttributeContains('css', 'a.toolbar-button--icon--navigation-media svg', 'width', '20');
$this->assertSession()
->elementAttributeContains('css', 'a.toolbar-button--icon--navigation-media svg', 'class', 'toolbar-button__icon');
$this->assertSession()
->elementExists('css', 'a.toolbar-button--icon--navigation-test-navigation__no-icon');
$this->assertSession()
->elementNotExists('css', 'a.toolbar-button--icon--navigation-test-navigation__no-icon svg');
// Rebuild menu with alterations and reload the page to check them.
\Drupal::keyValue('navigation_test')->set('menu_links_discovered_alter', 1);
\Drupal::service(MenuLinkManagerInterface::class)->rebuild();
$this->drupalGet('/test-page');
$this->assertSession()
->elementAttributeContains('css', 'a.toolbar-button--icon--star svg', 'width', '25');
$this->assertSession()
->elementAttributeContains('css', 'a.toolbar-button--icon--star svg', 'class', 'toolbar-button__icon foo');
$this->assertSession()
->elementNotExists('css', 'a.toolbar-button--icon--pencil svg');
$this->assertSession()
->elementAttributeContains('css', 'a.toolbar-button--icon--navigation-media svg', 'width', '20');
$this->assertSession()
->elementAttributeContains('css', 'a.toolbar-button--icon--navigation-media svg', 'class', 'toolbar-button__icon');
$this->assertSession()
->elementAttributeContains('css', 'a.toolbar-button--icon--radioactive svg', 'width', '20');
$this->assertSession()
->elementAttributeContains('css', 'a.toolbar-button--icon--radioactive svg', 'class', 'toolbar-button__icon');
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.