diff options
-rw-r--r-- | includes/menu.inc | 8 | ||||
-rw-r--r-- | modules/simpletest/tests/menu.test | 12 | ||||
-rw-r--r-- | modules/simpletest/tests/menu_test.module | 7 |
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', |