You are here

public function CommentTestBase::commentExists in Drupal 8

Same name in this branch
  1. 8 core/modules/comment/src/Tests/CommentTestBase.php \Drupal\comment\Tests\CommentTestBase::commentExists()
  2. 8 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.

File

core/modules/comment/src/Tests/CommentTestBase.php, line 203

Class

CommentTestBase
Provides setup and helper methods for comment tests.

Namespace

Drupal\comment\Tests

Code

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