Error message

You are browsing documentation for drupal 7.x, which is not supported anymore. Read the updated version of this page for drupal 11.x (the latest version).

function MenuTestCase::testMenu

Login users, add menus and menu links, and test menu functionality through the admin and user interfaces.

File

modules/menu/menu.test, line 32

Class

MenuTestCase
@file Tests for menu.module.

Code

function testMenu() {
 // Login the user.
 $this->drupalLogin ($this->big_user );
 $this->items  = array();
 // Do standard menu tests.
 $this->doStandardMenuTests ();
 // Do custom menu tests.
 $this->doCustomMenuTests ();
 // Do standard user tests.
 // Login the user.
 $this->drupalLogin ($this->std_user );
 $this->verifyAccess (403);
 foreach ($this->items  as $item) {
 $node = node_load (substr ($item['link_path'], 5));
 // Paths were set as 'node/$nid'.
 $this->verifyMenuLink ($item, $node);
 }
 // Login the user.
 $this->drupalLogin ($this->big_user );
 // Delete menu links.
 foreach ($this->items  as $item) {
 $this->deleteMenuLink ($item);
 }
 // Delete custom menu.
 $this->deleteCustomMenu ($this->menu );
 // Modify and reset a standard menu link.
 $item = $this->getStandardMenuLink ();
 $old_title = $item['link_title'];
 $this->modifyMenuLink ($item);
 $item = menu_link_load ($item['mlid']);
 // Verify that a change to the description is saved.
 $description = $this->randomName (16);
 $item['options']['attributes']['title'] = $description;
 menu_link_save ($item);
 $saved_item = menu_link_load ($item['mlid']);
 $this->assertEqual ($description, $saved_item['options']['attributes']['title'], 'Saving an existing link updates the description (title attribute)');
 $this->resetMenuLink ($item, $old_title);
 // Test that the page title is correct when a local task appears in a
 // top-level menu item. See https://www.drupal.org/node/1973262.
 $item = $this->addMenuLink (0, 'user/register', 'user-menu');
 $this->drupalGet ('user/password');
 $this->assertNoTitle ('Home | Drupal');
 $this->drupalLogout ();
 $this->drupalGet ('user/register');
 $this->assertTitle ($item['link_title'] . ' | Drupal');
 $this->drupalGet ('user');
 $this->assertNoTitle ('Home | Drupal');
}

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