function CommentThreadingTest::assertParentLink

Same name and namespace in other branches
  1. 9 core/modules/comment/tests/src/Functional/CommentThreadingTest.php \Drupal\Tests\comment\Functional\CommentThreadingTest::assertParentLink()
  2. 8.9.x core/modules/comment/tests/src/Functional/CommentThreadingTest.php \Drupal\Tests\comment\Functional\CommentThreadingTest::assertParentLink()
  3. 11.x core/modules/comment/tests/src/Functional/CommentThreadingTest.php \Drupal\Tests\comment\Functional\CommentThreadingTest::assertParentLink()

Asserts that the link to the specified parent comment is present.

@internal

Parameters

string $cid: The comment ID to check.

string $pid: The expected parent comment ID.

1 call to CommentThreadingTest::assertParentLink()
CommentThreadingTest::testCommentThreading in core/modules/comment/tests/src/Functional/CommentThreadingTest.php
Tests the comment threading.

File

core/modules/comment/tests/src/Functional/CommentThreadingTest.php, line 161

Class

CommentThreadingTest
Tests to make sure the comment number increments properly.

Namespace

Drupal\Tests\comment\Functional

Code

protected function assertParentLink(string $cid, string $pid) : void {
  // This pattern matches a markup structure like:
  // @code
  // <article id="comment-2">
  //   <p>
  //     In reply to
  //     <a href="...comment-1"></a>
  //   </p>
  // </article>
  // @endcode
  $pattern = "//article[@id='comment-{$cid}']//p/a[contains(@href, 'comment-{$pid}')]";
  $this->assertSession()
    ->elementExists('xpath', $pattern);
  // A parent link is always accompanied by the text "In reply to".
  // If we don't assert this text here, then the assertNoParentLink()
  // method is not effective.
  $pattern = "//article[@id='comment-{$cid}']";
  $this->assertSession()
    ->elementTextContains('xpath', $pattern, 'In reply to');
}

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