Commit 492b5435 authored by Dries's avatar Dries

- Patch #965272 by larowlan, bellHead, TR: items defined with type...

- Patch #965272 by larowlan, bellHead, TR: items defined with type MENU_CALLBACK show 'Home' as a title.
parent 34b639a8
......@@ -2321,11 +2321,11 @@ function menu_set_active_trail($new_trail = NULL) {
}
list($key, $curr) = each($tree);
}
// Make sure the current page is in the trail (needed for the page title),
// if the link's type allows it to be shown in the breadcrumb. Also exclude
// it if we are on the front page.
// Make sure the current page is in the trail to build the page title, by
// appending either the preferred link or the menu router item for the
// current page. Exclude it if we are on the front page.
$last = end($trail);
if ($last['href'] != $preferred_link['href'] && ($preferred_link['type'] & MENU_VISIBLE_IN_BREADCRUMB) == MENU_VISIBLE_IN_BREADCRUMB && !drupal_is_front_page()) {
if ($last['href'] != $preferred_link['href'] && !drupal_is_front_page()) {
$trail[] = $preferred_link;
}
}
......
......@@ -33,6 +33,18 @@ class MenuRouterTestCase extends DrupalWebTestCase {
$this->assertNoText(t('A title with @placeholder', array('@placeholder' => 'some other text')), t('Text with placeholder substitutions not found.'));
}
/**
* Tests page title of MENU_CALLBACKs.
*/
function testTitleMenuCallback() {
// Verify that the menu router item title is not visible.
$this->drupalGet('');
$this->assertNoText(t('Menu Callback Title'));
// Verify that the menu router item title is output as page title.
$this->drupalGet('menu_callback_title');
$this->assertText(t('Menu Callback Title'));
}
/**
* Test the theme callback when it is set to use an administrative theme.
*/
......
......@@ -15,6 +15,13 @@ function menu_test_menu() {
'page callback' => 'node_save',
'menu_name' => menu_test_menu_name(),
);
// This item is of type MENU_CALLBACK with no parents to test title.
$items['menu_callback_title'] = array(
'title' => 'Menu Callback Title',
'page callback' => 'menu_test_callback',
'type' => MENU_CALLBACK,
'access arguments' => array('access content'),
);
// Use FALSE as 'title callback' to bypass t().
$items['menu_no_title_callback'] = array(
'title' => 'A title with @placeholder',
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment