You are here

function PagePreviewTestCase::testPagePreviewWithRevisions in Drupal 7

Checks the node preview functionality, when using revisions.

File

modules/node/node.test, line 558
Tests for node.module.

Class

PagePreviewTestCase
Tests the node entity preview functionality.

Code

function testPagePreviewWithRevisions() {
  $langcode = LANGUAGE_NONE;
  $title_key = "title";
  $body_key = "body[{$langcode}][0][value]";
  $term_key = "{$this->field_name}[{$langcode}]";

  // Force revision on "Basic page" content.
  variable_set('node_options_page', array(
    'status',
    'revision',
  ));

  // Fill in node creation form and preview node.
  $edit = array();
  $edit[$title_key] = $this
    ->randomName(8);
  $edit[$body_key] = $this
    ->randomName(16);
  $edit[$term_key] = $this->term->tid;
  $edit['log'] = $this
    ->randomName(32);
  $this
    ->drupalPost('node/add/page', $edit, t('Preview'));

  // Check that the preview is displaying the title, body, and term.
  $this
    ->assertTitle(t('Preview | Drupal'), 'Basic page title is preview.');
  $this
    ->assertText($edit[$title_key], 'Title displayed.');
  $this
    ->assertText($edit[$body_key], 'Body displayed.');
  $this
    ->assertText($this->term->name, 'Term displayed.');

  // Check that the title, body, and term fields are displayed with the
  // correct values.
  $this
    ->assertFieldByName($title_key, $edit[$title_key], 'Title field displayed.');
  $this
    ->assertFieldByName($body_key, $edit[$body_key], 'Body field displayed.');
  $this
    ->assertFieldByName($term_key, $edit[$term_key], 'Term field displayed.');

  // Check that the log field has the correct value.
  $this
    ->assertFieldByName('log', $edit['log'], 'Log field displayed.');
}