diff --git a/core/modules/comment/comment.test b/core/modules/comment/comment.test index 2e0a209..a791b2d 100644 --- a/core/modules/comment/comment.test +++ b/core/modules/comment/comment.test @@ -6,269 +6,10 @@ */ use Drupal\comment\Comment; +use Drupal\comment\Tests\CommentTestBase; use Drupal\simpletest\WebTestBase; -class CommentHelperCase extends WebTestBase { - protected $profile = 'standard'; - - protected $admin_user; - protected $web_user; - protected $node; - - function setUp() { - parent::setUp('comment', 'search'); - // Create users and test node. - $this->admin_user = $this->drupalCreateUser(array('administer content types', 'administer comments', 'administer blocks')); - $this->web_user = $this->drupalCreateUser(array('access comments', 'post comments', 'create article content', 'edit own comments')); - $this->node = $this->drupalCreateNode(array('type' => 'article', 'promote' => 1, 'uid' => $this->web_user->uid)); - } - - /** - * Posts a comment. - * - * @param Node|NULL $node - * Node to post comment on or NULL to post to the previusly loaded page. - * @param $comment - * Comment body. - * @param $subject - * Comment subject. - * @param $contact - * Set to NULL for no contact info, TRUE to ignore success checking, and - * array of values to set contact info. - */ - function postComment($node, $comment, $subject = '', $contact = NULL) { - $langcode = LANGUAGE_NOT_SPECIFIED; - $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', '', t('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'), t('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'), t('Preview button found.')); - $this->assertFieldByName('op', t('Save'), t('Save button found.')); - $this->drupalPost(NULL, $edit, t('Save')); - break; - - case DRUPAL_DISABLED: - $this->assertNoFieldByName('op', t('Preview'), t('Preview button not found.')); - $this->assertFieldByName('op', t('Save'), t('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])), t('Comment id found.')); - } - - if (isset($match[1])) { - return entity_create('comment', array('id' => $match[1], 'subject' => $subject, 'comment' => $comment)); - } - } - - /** - * Checks current page for specified comment. - * - * @param Drupal\comment\Comment $comment - * The comment object. - * @param boolean $reply - * Boolean indicating whether the comment is a reply to another comment. - * - * @return boolean - * Boolean indicating whether the comment was found. - */ - function commentExists(Comment $comment = NULL, $reply = FALSE) { - if ($comment) { - $regex = '/' . ($reply ? '