function CommentActionsTestCase::testCommentPublishUnpublishHooks

Test comment publish and unpublish hooks.

File

modules/comment/comment.test, line 2034

Class

CommentActionsTestCase
Test actions provided by the comment module.

Code

function testCommentPublishUnpublishHooks() {
  $this->drupalLogin($this->web_user);
  module_enable(array(
    'comment_hook_test',
  ));
  $_SESSION['comment_hook_test'] = array();
  // Publishing a comment should trigger hook_comment_publish().
  $comment = (object) array(
    'cid' => NULL,
    'nid' => $this->node->nid,
    'node_type' => $this->node->type,
    'pid' => 0,
    'uid' => $this->loggedInUser->uid,
    'status' => COMMENT_PUBLISHED,
    'subject' => $this->randomName(),
    'hostname' => ip_address(),
    'language' => LANGUAGE_NONE,
    'comment_body' => array(
      LANGUAGE_NONE => array(
        $this->randomName(),
      ),
    ),
  );
  comment_save($comment);
  $this->assertHookMessage('comment_hook_test_comment_publish called');
  // Unpublishing a comment should trigger hook_comment_unpublish().
  $comment = comment_load($comment->cid);
  $comment->status = COMMENT_NOT_PUBLISHED;
  comment_save($comment);
  $this->assertHookMessage('comment_hook_test_comment_unpublish called');
}

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