You are here

public function CommentTestBase::commentExists in Drupal 10

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

Checks current page for specified comment.

Parameters

\Drupal\comment\CommentInterface $comment: The comment object.

bool $reply: Boolean indicating whether the comment is a reply to another comment.

Return value

bool Boolean indicating whether the comment was found.

1 call to CommentTestBase::commentExists()
CommentAdminTest::testApprovalAdminInterface in core/modules/comment/tests/src/Functional/Views/CommentAdminTest.php
Tests comment approval functionality through admin/content/comment.

File

core/modules/comment/tests/src/Functional/CommentTestBase.php, line 199

Class

CommentTestBase
Provides setup and helper methods for comment tests.

Namespace

Drupal\Tests\comment\Functional

Code

public function commentExists(CommentInterface $comment = NULL, $reply = FALSE) {
  if ($comment) {
    $comment_element = $this
      ->cssSelect(($reply ? '.indented ' : '') . 'article#comment-' . $comment
      ->id());
    if (empty($comment_element)) {
      return FALSE;
    }
    $comment_title = $comment_element[0]
      ->find('xpath', 'div/h3/a');
    if (empty($comment_title) || $comment_title
      ->getText() !== $comment
      ->getSubject()) {
      return FALSE;
    }
    $comment_body = $comment_element[0]
      ->find('xpath', 'div/div/p');
    if (empty($comment_body) || $comment_body
      ->getText() !== $comment->comment_body->value) {
      return FALSE;
    }
    return TRUE;
  }
  else {
    return FALSE;
  }
}