function WebAssert::linkByHrefExistsExact

Same name in other branches
  1. 11.x core/tests/Drupal/Tests/WebAssert.php \Drupal\Tests\WebAssert::linkByHrefExistsExact()

Passes if a link with a given href is found.

Parameters

string $href: The full value of the 'href' attribute of the anchor tag.

int $index: Link position counting from zero.

string $message: (optional) A message to display with the assertion. Do not translate messages with t(). Use double quotes and embed variables directly in message text, or use sprintf() if necessary. Avoid the use of \Drupal\Component\Render\FormattableMarkup unless you cast the object to a string. If left blank, a default message will be displayed.

Throws

\Behat\Mink\Exception\ExpectationException Thrown when element doesn't exist, or the link label is a different one.

File

core/tests/Drupal/Tests/WebAssert.php, line 422

Class

WebAssert
Defines a class with methods for asserting presence of elements during tests.

Namespace

Drupal\Tests

Code

public function linkByHrefExistsExact(string $href, int $index = 0, string $message = '') : void {
    $xpath = $this->buildXPathQuery('//a[@href=:href]', [
        ':href' => $href,
    ]);
    $message = $message ?: strtr('No link with href %href found.', [
        '%href' => $href,
    ]);
    $links = $this->session
        ->getPage()
        ->findAll('xpath', $xpath);
    $this->assert(!empty($links[$index]), $message);
}

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