function NavigationMenuMarkupTest::testToolbarButtonAttributes

Same name and namespace in other branches
  1. 11.x core/modules/navigation/tests/src/Kernel/NavigationMenuMarkupTest.php \Drupal\Tests\navigation\Kernel\NavigationMenuMarkupTest::testToolbarButtonAttributes()

Tests the generated HTML markup.

File

core/modules/navigation/tests/src/Kernel/NavigationMenuMarkupTest.php, line 132

Class

NavigationMenuMarkupTest
Tests \Drupal\navigation\Plugin\Block\NavigationMenuBlock.

Namespace

Drupal\Tests\navigation\Kernel

Code

public function testToolbarButtonAttributes() : void {
  $block = $this->blockManager
    ->createInstance('navigation_menu:' . $this->menu
    ->id(), [
    'region' => 'content',
    'id' => 'machine_name',
    'level' => 1,
    'depth' => NavigationMenuBlock::NAVIGATION_MAX_DEPTH - 1,
  ]);
  $block_build = $block->build();
  $render = \Drupal::service('renderer')->renderRoot($block_build);
  $dom = new \DOMDocument();
  $dom->loadHTML((string) $render);
  $xpath = new \DOMXPath($dom);
  $items_query = [
    "//li[contains(@class,'toolbar-block__list-item')]/a[@data-index-text='t']",
    "//li[contains(@class,'toolbar-block__list-item')]/a[@data-icon-text='ti']",
    "//li[contains(@class,'toolbar-block__list-item')]/button[@data-index-text='a']",
    "//li[contains(@class,'toolbar-block__list-item')]/button[@data-icon-text='An']",
    "//li[contains(@class,'toolbar-menu__item--level-1')]/a[@data-index-text='n']",
    "//li[contains(@class,'toolbar-menu__item--level-1')]/a[@data-icon-text='Ne']",
  ];
  foreach ($items_query as $query) {
    $element = $xpath->query($query);
    $this->assertEquals(1, $element->length, $query);
  }
}

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