summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDries Buytaert2009-04-15 13:28:08 (GMT)
committerDries Buytaert2009-04-15 13:28:08 (GMT)
commitdfff6528ff1aefb054d42a925293751a43c43ff2 (patch)
treefeed6a2a17ad4ac21df700a5ec14577fcf594e60
parent852b762231d1280490962951c6c959c1752d8cc0 (diff)
- Patch #385602 by Damien Tournoud, desbeers, Gabor Hojtsy: log message sometimes lost on node preview. With a test\!
-rw-r--r--modules/node/node.pages.inc3
-rw-r--r--modules/node/node.test27
2 files changed, 30 insertions, 0 deletions
diff --git a/modules/node/node.pages.inc b/modules/node/node.pages.inc
index c02d70f..242fcf6 100644
--- a/modules/node/node.pages.inc
+++ b/modules/node/node.pages.inc
@@ -91,6 +91,8 @@ function node_object_prepare(&$node) {
}
else {
$node->date = format_date($node->created, 'custom', 'Y-m-d H:i:s O');
+ // Remove the log message from the original node object.
+ $node->log = NULL;
}
// Always use the default revision setting.
$node->revision = in_array('revision', $node_options);
@@ -179,6 +181,7 @@ function node_form(&$form_state, $node) {
'#type' => 'textarea',
'#title' => t('Revision log message'),
'#rows' => 4,
+ '#default_value' => !empty($node->log) ? $node->log : '',
'#description' => t('Provide an explanation of the changes you are making. This will help other authors understand your motivations.'),
);
}
diff --git a/modules/node/node.test b/modules/node/node.test
index 60798b0..d73cb44 100644
--- a/modules/node/node.test
+++ b/modules/node/node.test
@@ -400,6 +400,33 @@ class PagePreviewTestCase extends DrupalWebTestCase {
$this->assertFieldByName('title', $edit['title'], t('Title field displayed.'));
$this->assertFieldByName('body', '<!--break-->' . $edit['body'], t('Body field displayed.'));
}
+
+ /**
+ * Check the node preview functionality, when using revisions.
+ */
+ function testPagePreviewWithRevisions() {
+ // Force revision on page content.
+ variable_set('node_options_page', array('status', 'revision'));
+
+ // Fill in node creation form and preview node.
+ $edit = array();
+ $edit['title'] = $this->randomName(8);
+ $edit['body'] = $this->randomName(16);
+ $edit['log'] = $this->randomName(32);
+ $this->drupalPost('node/add/page', $edit, t('Preview'));
+
+ // Check that the preview is displaying the title and body.
+ $this->assertTitle(t('Preview | Drupal'), t('Page title is preview.'));
+ $this->assertText($edit['title'], t('Title displayed.'));
+ $this->assertText($edit['body'], t('Body displayed.'));
+
+ // Check that the title and body fields are displayed with the correct values.
+ $this->assertFieldByName('title', $edit['title'], t('Title field displayed.'));
+ $this->assertFieldByName('body', '<!--break-->' . $edit['body'], t('Body field displayed.'));
+
+ // Check that the log field has the correct value.
+ $this->assertFieldByName('log', $edit['log'], t('Log field displayed.'));
+ }
}
class PageCreationTestCase extends DrupalWebTestCase {