New module 'Custom error'
This commit is contained in:
parent
314a279f79
commit
d1f15e39fd
7 changed files with 1030 additions and 0 deletions
61
sites/all/modules/customerror/tests/pagenotfound.test
Normal file
61
sites/all/modules/customerror/tests/pagenotfound.test
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @file
|
||||
* Automated tests CustomError.
|
||||
*/
|
||||
|
||||
class CustomerrorPageNotFoundTest extends DrupalTestCase {
|
||||
|
||||
/**
|
||||
* Implements getInfo().
|
||||
*/
|
||||
public function getInfo() {
|
||||
return array(
|
||||
'name' => '404 Page not found',
|
||||
'desc' => 'Check that the custom error message is displayed when a page is not found.',
|
||||
'group' => 'CustomError',
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests 404 pages.
|
||||
*/
|
||||
public function testPageNotFoundMessage() {
|
||||
|
||||
/* Enable CustomError module */
|
||||
$this->drupalModuleEnable('customerror');
|
||||
|
||||
/* Set title and text of error message */
|
||||
$error_code = 404;
|
||||
$title = $this->randomName(10, 'simpletest_');
|
||||
$this->drupalVariableSet('customerror_' . $error_code . '_title', $title);
|
||||
|
||||
$description = $this->randomName(512, 'simpletest_');
|
||||
$this->drupalVariableSet('customerror_' . $error_code, $description);
|
||||
|
||||
/* Access error page directly, check for title and text of error message */
|
||||
$this->get(url('customerror/' . $error_code, NULL, NULL, TRUE));
|
||||
$this->assertText($title, 'Title on ' . $error_code . ' error page set when accessed directly');
|
||||
$this->assertText($description, 'Description on ' . $error_code . ' error page set when accessed directly');
|
||||
|
||||
/* Point Drupal to the new error message */
|
||||
$this->drupalVariableSet('site_' . $error_code, 'customerror/' . $error_code);
|
||||
|
||||
/* Log in as a user with basic privileges */
|
||||
$user = $this->drupalCreateUserRolePerm(array('access content'));
|
||||
$this->drupalLoginUser($user);
|
||||
|
||||
/* Access next node ID, shouldn't exist yet. Note that this increments the nid each time it's run. */
|
||||
$this->get(url('node/' . db_next_id('{node}_nid'), NULL, NULL, TRUE));
|
||||
|
||||
/* Check for response code, title and text of error message */
|
||||
$this->assertResponse($error_code, 'Response code on ' . $error_code . ' error page set when accessed at non-existent URL');
|
||||
$this->assertText($title, 'Title on ' . $error_code . ' error page set when accessed at non-existent URL');
|
||||
$this->assertText($description, 'Description on ' . $error_code . ' error page set when accessed at non-existent URL');
|
||||
|
||||
/* Could also create node, prove it's accessible, delete it, then try to access again and prove it's gone */
|
||||
|
||||
}
|
||||
|
||||
}
|
Reference in a new issue