function CommentTestBase::commentExists

Same name and namespace in other branches
  1. 11.x 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/tests/src/Functional/CommentTestBase.php, line 202

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;
  }
}

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