function MenuTestCase::addMenuLink

Add a menu link using the menu module UI.

Parameters

integer $plid Parent menu link id.:

string $link Link path.:

string $menu_name Menu name.:

string $weight Menu link weight:

Return value

array Menu link created.

3 calls to MenuTestCase::addMenuLink()
MenuTestCase::doMenuTests in modules/menu/menu.test
Test menu functionality using navigation menu.
MenuTestCase::testMenu in modules/menu/menu.test
Login users, add menus and menu links, and test menu functionality through the admin and user interfaces.
MenuTestCase::testMenuQueryAndFragment in modules/menu/menu.test
Add and remove a menu link with a query string and fragment.

File

modules/menu/menu.test, line 327

Class

MenuTestCase
@file Tests for menu.module.

Code

function addMenuLink($plid = 0, $link = '<front>', $menu_name = 'navigation', $expanded = TRUE, $weight = '0') {
    // View add menu link page.
    $this->drupalGet("admin/structure/menu/manage/{$menu_name}/add");
    $this->assertResponse(200);
    $title = '!link_' . $this->randomName(16);
    $edit = array(
        'link_path' => $link,
        'link_title' => $title,
        'description' => '',
        'enabled' => TRUE,
        // Use this to disable the menu and test.
'expanded' => $expanded,
        // Setting this to true should test whether it works when we do the std_user tests.
'parent' => $menu_name . ':' . $plid,
        'weight' => $weight,
    );
    // Add menu link.
    $this->drupalPost(NULL, $edit, t('Save'));
    $this->assertResponse(200);
    // Unlike most other modules, there is no confirmation message displayed.
    $this->assertText($title, 'Menu link was added');
    $item = db_query('SELECT * FROM {menu_links} WHERE link_title = :title', array(
        ':title' => $title,
    ))->fetchAssoc();
    $this->assertTrue(t('Menu link was found in database.'));
    $this->assertMenuLink($item['mlid'], array(
        'menu_name' => $menu_name,
        'link_path' => $link,
        'has_children' => 0,
        'plid' => $plid,
    ));
    return $item;
}

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