You are here

protected function CommentPagerTest::clickLinkWithXPath in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/comment/tests/src/Functional/CommentPagerTest.php \Drupal\Tests\comment\Functional\CommentPagerTest::clickLinkWithXPath()
  2. 9 core/modules/comment/tests/src/Functional/CommentPagerTest.php \Drupal\Tests\comment\Functional\CommentPagerTest::clickLinkWithXPath()

Follows a link found at a give xpath query.

Will click the first link found with the given xpath query by default, or a later one if an index is given.

If the link is discovered and clicked, the test passes. Fail otherwise.

Parameters

string $xpath: Xpath query that targets an anchor tag, or set of anchor tags.

array $arguments: An array of arguments with keys in the form ':name' matching the placeholders in the query. The values may be either strings or numeric values.

int $index: Link position counting from zero.

Return value

string|false Page contents on success, or FALSE on failure.

See also

\Drupal\Tests\UiHelperTrait::clickLink()

File

core/modules/comment/tests/src/Functional/CommentPagerTest.php, line 428

Class

CommentPagerTest
Tests paging of comments and their settings.

Namespace

Drupal\Tests\comment\Functional

Code

protected function clickLinkWithXPath($xpath, $arguments = [], $index = 0) {
  $url_before = $this
    ->getUrl();
  $urls = $this
    ->xpath($xpath, $arguments);
  if (isset($urls[$index])) {
    $url_target = $this
      ->getAbsoluteUrl($urls[$index]
      ->getAttribute('href'));
    return $this
      ->drupalGet($url_target);
  }
  $this
    ->fail(new FormattableMarkup('Link %label does not exist on @url_before', [
    '%label' => $xpath,
    '@url_before' => $url_before,
  ]), 'Browser');
  return FALSE;
}