class NodeRevisionsTest in SimpleTest 6
Hierarchy
- class \DrupalTestCase extends \WebTestCase
- class \NodeRevisionsTest
Expanded class hierarchy of NodeRevisionsTest
File
- tests/
node_revisions.test, line 2
View source
class NodeRevisionsTest extends DrupalTestCase {
/**
* Implementation of get_info() for information
*/
function get_info() {
return array(
'name' => t('Node revisions tests'),
'desc' => t('Creates a node of type page and then a user tries various revision actions such as viewing, reverting to, and deleting revisions.'),
'group' => 'Node Tests',
);
}
/**
* Setup function used by tests. Creates a node with three revisions.
*
* If $log is TRUE, then a log message will be recorded.
*/
function prepareRevisions($log = FALSE) {
$returnarray = array();
$numtimes = 3;
// First, middle, last.
for ($i = 0; $i < $numtimes; $i++) {
$settings = array(
'revision' => 1,
);
if ($log && $i == 1) {
$logmessage = $this
->randomName(32);
$settings['log'] = $logmessage;
$returnarray['log'] = $logmessage;
}
if ($i != 0) {
$settings['nid'] = $node->nid;
}
$node = $this
->drupalCreateNode($settings);
if ($i == 1) {
$returnarray['text'] = $node->body;
$returnarray['vid'] = $node->vid;
}
// Avoid confusion on the revisions overview page which is sorted by r.timestamp.
sleep(1);
}
$returnarray['node'] = $node;
return $returnarray;
}
/**
* Simpletest test. Tests to make sure the correct revision text appears on "view revisions" page.
*/
function testNodeRevisions() {
extract($this
->prepareRevisions());
$test_user = $this
->drupalCreateUserRolePerm(array(
'view revisions',
));
$this
->drupalLoginUser($test_user);
$this
->drupalGet("node/{$node->nid}/revisions/{$vid}/view");
$this
->assertText($text, 'Check to make sure correct revision text appears on "view revisions" page.');
$this
->cleanup($node->nid);
}
/**
* Simpletest test. Tests to make sure the correct log message appears on "revisions overview" page.
*/
function testLogMessage() {
extract($this
->prepareRevisions(TRUE));
$test_user = $this
->drupalCreateUserRolePerm(array(
'view revisions',
));
$this
->drupalLoginUser($test_user);
$this
->drupalGet("node/{$node->nid}/revisions");
$this
->assertText($log, 'Check to make sure log message is properly displayed.');
$this
->cleanup($node->nid);
}
/**
* Simpletest test. Tests to make sure the that revisions revert properly.
*/
function testRevisionRevert() {
extract($this
->prepareRevisions());
$test_user = $this
->drupalCreateUserRolePerm(array(
'revert revisions',
'edit any page content',
));
$this
->drupalLoginUser($test_user);
$this
->drupalPost("node/{$node->nid}/revisions/{$vid}/revert", array(), 'Revert');
$newnode = node_load($node->nid);
$this
->assertTrue($text == $newnode->body, 'Check to make sure reversions occur properly');
$this
->cleanup($node->nid);
}
/**
* Simpletest test. Tests to make sure the revision deletes properly.
*/
function testRevisionDelete() {
extract($this
->prepareRevisions());
$test_user = $this
->drupalCreateUserRolePerm(array(
'delete revisions',
'delete any page content',
));
$this
->drupalLoginUser($test_user);
$this
->drupalPost("node/{$node->nid}/revisions/{$vid}/delete", array(), 'Delete');
$this
->assertTrue(db_result(db_query('SELECT COUNT(vid) FROM {node_revisions} WHERE nid = %d and VID = %d', $node->nid, $vid)) == 0, 'Check to make sure revisions delete properly');
$this
->cleanup($node->nid);
$this
->cleanup($node->nid);
}
/**
* Cleanup function used by tests. Deletes the associated node.
*/
function cleanup($nid) {
node_delete($nid);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DrupalTestCase:: |
property | |||
DrupalTestCase:: |
property | |||
DrupalTestCase:: |
property | |||
DrupalTestCase:: |
property | |||
DrupalTestCase:: |
property | |||
DrupalTestCase:: |
property | |||
DrupalTestCase:: |
property | |||
DrupalTestCase:: |
property | |||
DrupalTestCase:: |
function | Will trigger a pass if both parameters refer to different objects. Fail otherwise. | ||
DrupalTestCase:: |
function | Will trigger a pass if the two parameters have the same value only. Otherwise a fail. | ||
DrupalTestCase:: |
function | Confirms that an error has occurred and optionally that the error text matches exactly. | ||
DrupalTestCase:: |
function | Confirms that an error has occurred and that the error text matches a Perl regular expression. | ||
DrupalTestCase:: |
function | Will trigger a pass if the two parameters have the same value and same type. Otherwise a fail. | ||
DrupalTestCase:: |
function | Type and class test. Will pass if class matches the type name or is a subclass or if not an object, but the type is correct. | ||
DrupalTestCase:: |
function | Confirms that no errors have occurred so far in the test method. | ||
DrupalTestCase:: |
function | Type and class mismatch test. Will pass if class name or underling type does not match the one specified. | ||
DrupalTestCase:: |
function | Will trigger a pass if the two parameters have a different value. Otherwise a fail. | ||
DrupalTestCase:: |
function | Will trigger a pass if the two parameters have the different value or different type. | ||
DrupalTestCase:: |
function | Will be true if the value is set. | ||
DrupalTestCase:: |
function | Will trigger a pass if the Perl regex pattern is not present in subject. Fail if found. | ||
DrupalTestCase:: |
function | Will trigger a pass if the raw text is NOT found on the loaded page Fail otherwise. | ||
DrupalTestCase:: |
function | Will be true if the value is null. | ||
DrupalTestCase:: |
function | Will trigger a pass if both parameters refer to the same object. Fail otherwise. | ||
DrupalTestCase:: |
function | Will trigger a pass if the Perl regex pattern is found in the subject. Fail otherwise. | ||
DrupalTestCase:: |
function | Will trigger a pass if the raw text is found on the loaded page Fail otherwise. | ||
DrupalTestCase:: |
function | Retrieves and saves current modules list into $_originalModules and $_modules. | ||
DrupalTestCase:: |
function | Follows a link by name. | ||
DrupalTestCase:: |
function | @abstract Checks to see if we need to send a http-auth header to authenticate when browsing a site. | ||
DrupalTestCase:: |
function | Creates a custom content type based on default settings. | ||
DrupalTestCase:: |
function | Creates a node based on default settings. | ||
DrupalTestCase:: |
function | Create a role / perm combination specified by permissions | ||
DrupalTestCase:: |
function | Creates a user / role / permissions combination specified by permissions | ||
DrupalTestCase:: |
function | @abstract Broker for the get function adds the authentication headers if necessary @author Earnest Berry III <earnest.berry@gmail.com> | ||
DrupalTestCase:: |
function | @TODO: needs documentation | ||
DrupalTestCase:: |
function | Logs in a user with the internal browser | ||
DrupalTestCase:: |
function | Disables a drupal module | ||
DrupalTestCase:: |
function | Enables a drupal module | ||
DrupalTestCase:: |
function | Do a post request on a drupal page. It will be done as usual post request with SimpleBrowser By $reporting you specify if this request does assertions or not Warning: empty ("") returns will cause fails with $reporting | ||
DrupalTestCase:: |
function | @abstract Broker for the post function adds the authentication headers if necessary @author Earnest Berry III <earnest.berry@gmail.com> | ||
DrupalTestCase:: |
function | |||
DrupalTestCase:: |
function | Set a drupal variable and keep track of the changes for tearDown() | ||
DrupalTestCase:: |
function | Generates a random string, to be used as name or whatever | ||
DrupalTestCase:: |
function | Just some info for the reporter | ||
DrupalTestCase:: |
function | tearDown implementation, setting back switched modules etc | 8 | |
NodeRevisionsTest:: |
function | Cleanup function used by tests. Deletes the associated node. | ||
NodeRevisionsTest:: |
function | Implementation of get_info() for information | ||
NodeRevisionsTest:: |
function | Setup function used by tests. Creates a node with three revisions. | ||
NodeRevisionsTest:: |
function | Simpletest test. Tests to make sure the correct log message appears on "revisions overview" page. | ||
NodeRevisionsTest:: |
function | Simpletest test. Tests to make sure the correct revision text appears on "view revisions" page. | ||
NodeRevisionsTest:: |
function | Simpletest test. Tests to make sure the revision deletes properly. | ||
NodeRevisionsTest:: |
function | Simpletest test. Tests to make sure the that revisions revert properly. |