class MenuModuleReset in SimpleTest 6
Hierarchy
- class \DrupalTestCase extends \WebTestCase
- class \MenuModuleReset
Expanded class hierarchy of MenuModuleReset
File
- tests/
menu_module.test, line 179
View source
class MenuModuleReset extends DrupalTestCase {
/**
* Implementation of get_info() for information
*/
function get_info() {
return array(
'name' => t('Menu reset'),
'desc' => 'Edit and reset a menu item',
'group' => 'Menu Module Tests',
);
}
function setUp() {
parent::setUp();
$this
->drupalModuleEnable('menu');
}
function tearDown() {
parent::tearDown();
}
function testMenuModuleReset() {
$web_user = $this
->drupalCreateUserRolePerm(array(
'administer menu',
));
$this
->drupalLoginUser($web_user);
$form_state = array();
$menu['menu_name'] = 'navigation';
require_once drupal_get_path('module', 'menu') . '/menu.admin.inc';
$form = drupal_retrieve_form('menu_overview_form', $form_state, $menu);
$found = FALSE;
foreach ($form as $mlid => $elements) {
if (isset($elements['#item']) && $elements['#item']['module'] == 'system') {
$found = TRUE;
$mlid = substr($mlid, 5);
break;
}
}
$this
->assertTrue($found, 'System module item found');
if ($found) {
// We can't use menu API here because of localization issues.
$item = db_fetch_array(db_query('SELECT * FROM {menu_links} WHERE mlid = %d', $mlid));
$edit['menu[link_title]'] = $this
->randomName(16);
$path = 'admin/build/menu/item/' . $mlid;
$this
->drupalPost($path . '/edit', $edit, 'Save');
$new_title = db_result(db_query('SELECT link_title FROM {menu_links} WHERE mlid = %d', $mlid));
$this
->assertTrue($new_title == $edit['menu[link_title]'], 'Edit succesful');
$this
->assertFalse($item['link_title'] == $new_title, 'Item changed');
$reset_path = $path . '/reset';
$this
->assertWantedRaw($reset_path, 'Reset link found');
$this
->drupalPost($reset_path, array(), 'Reset');
$reset_title = db_result(db_query('SELECT link_title FROM {menu_links} WHERE mlid = %d', $mlid));
$this
->assertFalse($edit['menu[link_title]'] == $reset_title, 'Item reset');
$this
->assertText(t('The menu item was reset to its default settings.'), 'Reset message');
drupal_write_record('menu_links', $item, 'mlid');
$restored_item = db_fetch_array(db_query('SELECT * FROM {menu_links} WHERE mlid = %d', $mlid));
$this
->assertTrue($item == $restored_item, 'Item restored');
}
}
}
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 | ||
MenuModuleReset:: |
function | Implementation of get_info() for information | ||
MenuModuleReset:: |
function | |||
MenuModuleReset:: |
function |
tearDown implementation, setting back switched modules etc Overrides DrupalTestCase:: |
||
MenuModuleReset:: |
function |