Select Git revision
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
NodeRevisionsTest.php 7.59 KiB
<?php
/**
* @file
* Definition of Drupal\node\Tests\NodeRevisionsTest.
*/
namespace Drupal\node\Tests;
/**
* Tests the node revision functionality.
*/
class NodeRevisionsTest extends NodeTestBase {
protected $nodes;
protected $logs;
public static function getInfo() {
return array(
'name' => 'Node revisions',
'description' => 'Create a node with revisions and test viewing, saving, reverting, and deleting revisions.',
'group' => 'Node',
);
}
function setUp() {
parent::setUp();
// Create and login user.
$web_user = $this->drupalCreateUser(array('view revisions', 'revert revisions', 'edit any page content',
'delete revisions', 'delete any page content', 'administer nodes'));
$this->drupalLogin($web_user);
// Create initial node.
$node = $this->drupalCreateNode();
$settings = get_object_vars($node);
$settings['revision'] = 1;
$settings['isDefaultRevision'] = TRUE;
$nodes = array();
$logs = array();
// Get original node.
$nodes[] = $node;
// Create three revisions.
$revision_count = 3;
for ($i = 0; $i < $revision_count; $i++) {
$logs[] = $settings['log'] = $this->randomName(32);
// Create revision with random title and body and update variables.
$this->drupalCreateNode($settings);
$node = node_load($node->nid); // Make sure we get revision information.
$settings = get_object_vars($node);
$settings['isDefaultRevision'] = TRUE;
$nodes[] = $node;
}
$this->nodes = $nodes;
$this->logs = $logs;
}
/**
* Checks node revision related operations.
*/
function testRevisions() {
$nodes = $this->nodes;
$logs = $this->logs;
// Get last node for simple checks.