summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/comment/comment.test39
-rw-r--r--modules/node/node.test28
2 files changed, 67 insertions, 0 deletions
diff --git a/modules/comment/comment.test b/modules/comment/comment.test
index 647f9d893..9b1192e17 100644
--- a/modules/comment/comment.test
+++ b/modules/comment/comment.test
@@ -1190,3 +1190,42 @@ class CommentRdfaTestCase extends CommentHelperCase {
$this->assertEqual((string)$comment_author[0], $name);
}
}
+
+/**
+ * Test to make sure comment content is rebuilt.
+ */
+class CommentContentRebuild extends CommentHelperCase {
+ public static function getInfo() {
+ return array(
+ 'name' => 'Comment Rebuild',
+ 'description' => 'Test to make sure the comment content is rebuilt.',
+ 'group' => 'Comment',
+ );
+ }
+
+ /**
+ * Test to ensure that the comment's content array is rebuilt for every call to comment_build().
+ */
+ 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), t('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_build($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']), t('Comment content was emptied before being built.'));
+ }
+} \ No newline at end of file
diff --git a/modules/node/node.test b/modules/node/node.test
index 394f7e391..834a058e5 100644
--- a/modules/node/node.test
+++ b/modules/node/node.test
@@ -1357,3 +1357,31 @@ class MultiStepNodeFormBasicOptionsTest extends DrupalWebTestCase {
$this->assertFieldChecked('edit-sticky', 'sticky stayed checked');
}
}
+
+/**
+ * Test to ensure that a node's content is always rebuilt.
+ */
+class NodeBuildContent extends DrupalWebTestCase {
+
+ public static function getInfo() {
+ return array(
+ 'name' => 'Rebuild content',
+ 'description' => 'Test the rebuilding of content for different build modes.',
+ 'group' => 'Node',
+ );
+ }
+
+ /**
+ * Test to ensure that a node's content array is rebuilt on every call to node_build_content().
+ */
+ function testNodeRebuildContent() {
+ $node = $this->drupalCreateNode();
+
+ // Set a property in the content array so we can test for its existance later on.
+ $node->content['test_content_property'] = array('#value' => $this->randomString());
+ $content = node_build_content($node);
+
+ // If the property doesn't exist it means the node->content was rebuilt.
+ $this->assertFalse(isset($content['test_content_property']), t('Node content was emptied prior to being built.'));
+ }
+} \ No newline at end of file