function CommentContentRebuildTest::testCommentRebuild

Tests the rebuilding of comment's content arrays on calling comment_view().

File

drupal/core/modules/comment/lib/Drupal/comment/Tests/CommentContentRebuildTest.php, line 25
Definition of Drupal\comment\Tests\CommentContentRebuildTest.

Class

CommentContentRebuildTest
Tests comment content rebuilding.

Namespace

Drupal\comment\Tests

Code

function testCommentRebuild() {

  // Update the comment settings so preview isn't required.
  $this
    ->drupalLogin($this->admin_user);
  $this
    ->setCommentSubject(TRUE);
  $this
    ->setCommentPreview(DRUPAL_OPTIONAL);
  $this
    ->drupalLogout();

  // Log in as the web user and add the comment.
  $this
    ->drupalLogin($this->web_user);
  $subject_text = $this
    ->randomName();
  $comment_text = $this
    ->randomName();
  $comment = $this
    ->postComment($this->node, $comment_text, $subject_text, TRUE);
  $this
    ->assertTrue($this
    ->commentExists($comment), 'Comment found.');

  // Add the property to the content array and then see if it still exists on build.
  $comment->content['test_property'] = array(
    '#value' => $this
      ->randomString(),
  );
  $built_content = comment_view($comment);

  // This means that the content was rebuilt as the added test property no longer exists.
  $this
    ->assertFalse(isset($built_content['test_property']), 'Comment content was emptied before being built.');
}