You are here

protected function AssertBreadcrumbTrait::assertBreadcrumb in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/system/tests/src/Functional/Menu/AssertBreadcrumbTrait.php \Drupal\Tests\system\Functional\Menu\AssertBreadcrumbTrait::assertBreadcrumb()
  2. 9 core/modules/system/tests/src/Functional/Menu/AssertBreadcrumbTrait.php \Drupal\Tests\system\Functional\Menu\AssertBreadcrumbTrait::assertBreadcrumb()

Assert that a given path shows certain breadcrumb links.

Parameters

\Drupal\Core\Url|string $goto: (optional) A path or URL to pass to \Drupal\Tests\UiHelperTrait::drupalGet().

array $trail: An associative array whose keys are expected breadcrumb link paths and whose values are expected breadcrumb link texts (not sanitized).

string $page_title: (optional) A page title to additionally assert via \Drupal\Tests\WebAssert::titleEquals(). Without site name suffix.

array $tree: (optional) An associative array whose keys are link paths and whose values are link titles (not sanitized) of an expected active trail in a menu tree output on the page.

$last_active: (optional) Whether the last link in $tree is expected to be active (TRUE) or just to be in the active trail (FALSE).

string $active_trail_class: (optional) The class of the active trail. Defaults to 'menu-item--active-trail'.

string $active_class: (optional) The class of the active element. Defaults to 'is-active'.

2 calls to AssertBreadcrumbTrait::assertBreadcrumb()
BreadcrumbTest::testAssertBreadcrumbTrait in core/modules/system/tests/src/Functional/Menu/BreadcrumbTest.php
Tests AssertBreadcrumbTrait works as expected.
BreadcrumbTest::testBreadCrumbs in core/modules/system/tests/src/Functional/Menu/BreadcrumbTest.php
Tests breadcrumbs on node and administrative paths.

File

core/modules/system/tests/src/Functional/Menu/AssertBreadcrumbTrait.php, line 41

Class

AssertBreadcrumbTrait
Provides test assertions for verifying breadcrumbs.

Namespace

Drupal\Tests\system\Functional\Menu

Code

protected function assertBreadcrumb($goto, array $trail, $page_title = NULL, array $tree = [], $last_active = TRUE, $active_trail_class = 'menu-item--active-trail', $active_class = 'is-active') {
  if (isset($goto)) {
    $this
      ->drupalGet($goto);
  }
  $this
    ->assertBreadcrumbParts($trail);

  // Additionally assert page title, if given.
  if (isset($page_title)) {
    $this
      ->assertSession()
      ->titleEquals("{$page_title} | Drupal");
  }

  // Additionally assert active trail in a menu tree output, if given.
  if ($tree) {
    $this
      ->assertMenuActiveTrail($tree, $last_active, $active_trail_class, $active_class);
  }
}