summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--includes/menu.inc8
-rw-r--r--modules/simpletest/tests/menu.test12
-rw-r--r--modules/simpletest/tests/menu_test.module7
3 files changed, 23 insertions, 4 deletions
diff --git a/includes/menu.inc b/includes/menu.inc
index 4757c77c6..baf5e28aa 100644
--- a/includes/menu.inc
+++ b/includes/menu.inc
@@ -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;
}
}
diff --git a/modules/simpletest/tests/menu.test b/modules/simpletest/tests/menu.test
index 24c002356..2578bebc0 100644
--- a/modules/simpletest/tests/menu.test
+++ b/modules/simpletest/tests/menu.test
@@ -34,6 +34,18 @@ class MenuRouterTestCase extends DrupalWebTestCase {
}
/**
+ * 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.
*/
function testThemeCallbackAdministrative() {
diff --git a/modules/simpletest/tests/menu_test.module b/modules/simpletest/tests/menu_test.module
index 8e8173e57..3046a0416 100644
--- a/modules/simpletest/tests/menu_test.module
+++ b/modules/simpletest/tests/menu_test.module
@@ -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',