Error message

You are browsing documentation for drupal 7.x, which is not supported anymore. Read the updated version of this page for drupal 11.x (the latest version).

function CommentHelperCase::postComment

Post comment.

Parameters

$node: Node to post comment on.

$comment: Comment body.

$subject: Comment subject.

$contact: Set to NULL for no contact info, TRUE to ignore success checking, and array of values to set contact info.

24 calls to CommentHelperCase::postComment()
CommentActionsTestCase::testCommentPublishUnpublishActions in modules/comment/comment.test
Test comment publish and unpublish actions.
CommentActionsTestCase::testCommentUnpublishByKeyword in modules/comment/comment.test
Tests the unpublish comment by keyword action.
CommentAnonymous::testAnonymous in modules/comment/comment.test
Test anonymous comment functionality.
CommentApprovalTest::testApprovalAdminInterface in modules/comment/comment.test
Test comment approval functionality through admin/content/comment.
CommentApprovalTest::testApprovalNodeInterface in modules/comment/comment.test
Test comment approval functionality through node interface.

... See full list

File

modules/comment/comment.test, line 42

Class

CommentHelperCase
@file Tests for comment.module.

Code

function postComment($node, $comment, $subject = '', $contact = NULL) {
 $langcode = LANGUAGE_NONE ;
 $edit = array();
 $edit['comment_body[' . $langcode . '][0][value]'] = $comment;
 $preview_mode = variable_get ('comment_preview_article', DRUPAL_OPTIONAL );
 $subject_mode = variable_get ('comment_subject_field_article', 1);
 // Must get the page before we test for fields.
 if ($node !== NULL) {
 $this->drupalGet ('comment/reply/' . $node->nid);
 }
 if ($subject_mode == TRUE) {
 $edit['subject'] = $subject;
 }
 else {
 $this->assertNoFieldByName ('subject', '', 'Subject field not found.');
 }
 if ($contact !== NULL && is_array ($contact)) {
 $edit += $contact;
 }
 switch ($preview_mode) {
 case DRUPAL_REQUIRED :
 // Preview required so no save button should be found.
 $this->assertNoFieldByName ('op', t ('Save'), 'Save button not found.');
 $this->drupalPost (NULL, $edit, t ('Preview'));
 // Don't break here so that we can test post-preview field presence and
 // function below.
 case DRUPAL_OPTIONAL :
 $this->assertFieldByName ('op', t ('Preview'), 'Preview button found.');
 $this->assertFieldByName ('op', t ('Save'), 'Save button found.');
 $this->drupalPost (NULL, $edit, t ('Save'));
 break;
 case DRUPAL_DISABLED :
 $this->assertNoFieldByName ('op', t ('Preview'), 'Preview button not found.');
 $this->assertFieldByName ('op', t ('Save'), 'Save button found.');
 $this->drupalPost (NULL, $edit, t ('Save'));
 break;
 }
 $match = array();
 // Get comment ID
 preg_match ('/#comment-([0-9]+)/', $this->getURL (), $match);
 // Get comment.
 if ($contact !== TRUE) {
 // If true then attempting to find error message.
 if ($subject) {
 $this->assertText ($subject, 'Comment subject posted.');
 }
 $this->assertText ($comment, 'Comment body posted.');
 $this->assertTrue (!empty($match) && !empty($match[1]), 'Comment id found.');
 }
 if (isset($match[1])) {
 return (object) array(
 'id' => $match[1],
 'subject' => $subject,
 'comment' => $comment,
 );
 }
}

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