function CommentTestBase::commentExists

Same name in this branch
  1. 8.9.x core/modules/comment/tests/src/Functional/CommentTestBase.php \Drupal\Tests\comment\Functional\CommentTestBase::commentExists()
Same name and namespace in other branches
  1. 9 core/modules/comment/tests/src/Functional/CommentTestBase.php \Drupal\Tests\comment\Functional\CommentTestBase::commentExists()
  2. 10 core/modules/comment/tests/src/Functional/CommentTestBase.php \Drupal\Tests\comment\Functional\CommentTestBase::commentExists()
  3. 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/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;
    }
}

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