class ContextUiTest in Context 5
Functional Test for Context UI
TODO Test if menu and blocks respond.
Hierarchy
- class \DrupalTestCase extends \WebTestCase
- class \ContextUiTest
Expanded class hierarchy of ContextUiTest
File
- context_ui/
tests/ context_ui.test, line 9
View source
class ContextUiTest extends DrupalTestCase {
function get_info() {
return array(
'name' => t('Context UI functional tests'),
'desc' => t('Create a context and test context on node view.'),
'group' => 'Context UI Tests',
);
}
function setUp() {
$this
->drupalModuleEnable('context');
$this
->drupalModuleEnable('context_ui');
parent::setUp();
}
function tearDown() {
include_once drupal_get_path("module", "context_ui") . "/context_ui_admin.inc";
context_ui_context('delete', $this->context);
$this
->drupalModuleDisable('context');
$this
->drupalModuleDisable('context_ui');
parent::tearDown();
}
// Random ID is like randomNAME, but provides only lowercase letters.
function randomID($number = 4, $prefix = 'simpletest_') {
$chars = 'abcdefghijklmnopqrstuvwxyz_';
for ($x = 0; $x < $number; $x++) {
$prefix .= $chars[mt_rand(0, strlen($chars) - 1)];
if ($x == 0) {
$chars .= '0123456789';
}
}
return $prefix;
}
function testCreateContext() {
// User setup
$user = $this
->drupalCreateUserRolePerm(array(
'administer site configuration',
'access content',
'create page content',
));
$this
->drupalLoginUser($user);
// Create context
$context = new stdClass();
$context->namespace = $this
->randomID(15);
$context->attribute = $this
->randomID(15);
$context->value = $this
->randomID(15);
$this->context = $context;
$edit = array(
'namespace' => $context->namespace,
'attribute' => $context->attribute,
'value' => $context->value,
);
$edit['items-node-page'] = 'page';
$this
->drupalPostRequest('admin/build/context/add', $edit, 'Save');
$this
->assertWantedRaw(t('The context %title was saved successfully.', array(
'%title' => $edit['value'],
)), 'Context saved');
// Create Page content
$edit = array();
$edit['title'] = $this
->randomName(32);
$edit['body'] = $this
->randomName(32);
$this
->drupalPostRequest('node/add/page', $edit, 'Submit');
// View context and test context setting
node_view(node_load(array(
'title' => $edit['title'],
)), FALSE, TRUE);
$this
->assertIdentical(context_get($context->namespace, $context->attribute), $context->value, 'Custom context was set');
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ContextUiTest:: |
function | |||
ContextUiTest:: |
function | |||
ContextUiTest:: |
function | |||
ContextUiTest:: |
function |
tearDown implementation, setting back switched modules etc Overrides DrupalTestCase:: |
||
ContextUiTest:: |
function | |||
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 | Follows a link by name. Will click the first link found with this link text by default, or a later one if an index is given. Match is case insensitive with normalised space. Does make assertations if the click was sucessful or not and it does… | ||
DrupalTestCase:: |
function | @abstract Checks to see if we need to send a http-auth header to authenticate when browsing a site. | ||
DrupalTestCase:: |
function | Create a role / perm combination specified by permissions | ||
DrupalTestCase:: |
function | Creates a user / role / permissions combination specified by permissions | ||
DrupalTestCase:: |
function | @abstract Brokder 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 | ||
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 druapl 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 |