function CommentContentRebuild::testCommentRebuild

Test to ensure that the comment's content array is rebuilt for every call to comment_view().

File

modules/comment/comment.test, line 1826

Class

CommentContentRebuild
Test to make sure comment content is rebuilt.

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);
  $comment_loaded = comment_load($comment->id);
  $this->assertTrue($this->commentExists($comment), 'Comment found.');
  // Add the property to the content array and then see if it still exists on build.
  $comment_loaded->content['test_property'] = array(
    '#value' => $this->randomString(),
  );
  $built_content = comment_view($comment_loaded, $this->node);
  // 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.');
}

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