function NodeRevisionPermissionsTestCase::setUp

Overrides DrupalWebTestCase::setUp

File

modules/node/node.test, line 2687

Class

NodeRevisionPermissionsTestCase
Tests user permissions for node revisions.

Code

function setUp() {
    parent::setUp();
    // Create a node with several revisions.
    $node = $this->drupalCreateNode();
    $this->node_revisions[] = $node;
    for ($i = 0; $i < 3; $i++) {
        // Create a revision for the same nid and settings with a random log.
        $revision = clone $node;
        $revision->revision = 1;
        $revision->log = $this->randomName(32);
        node_save($revision);
        $this->node_revisions[] = $revision;
    }
    // Create three users, one with each revision permission.
    foreach ($this->map as $op => $permission) {
        // Create the user.
        $account = $this->drupalCreateUser(array(
            'access content',
            'edit any page content',
            'delete any page content',
            $permission,
        ));
        $account->op = $op;
        $this->accounts[] = $account;
    }
    // Create an admin account (returns TRUE for all revision permissions).
    $admin_account = $this->drupalCreateUser(array(
        'access content',
        'administer nodes',
    ));
    $admin_account->is_admin = TRUE;
    $this->accounts['admin'] = $admin_account;
    // Create a normal account (returns FALSE for all revision permissions).
    $normal_account = $this->drupalCreateUser();
    $normal_account->op = FALSE;
    $this->accounts[] = $normal_account;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.