diff --git a/core/modules/system/lib/Drupal/system/Tests/Menu/MenuRouterRebuildTest.php b/core/modules/system/lib/Drupal/system/Tests/Menu/MenuRouterRebuildTest.php new file mode 100644 index 0000000..a400770 --- /dev/null +++ b/core/modules/system/lib/Drupal/system/Tests/Menu/MenuRouterRebuildTest.php @@ -0,0 +1,54 @@ + 'Menu router rebuild', + 'description' => 'Tests menu_router_rebuild().', + 'group' => 'Menu', + ); + } + + function setUp() { + // Enable dummy module that implements hook_menu. + parent::setUp(); + + $language = new Language(array('id' => 'nl')); + language_save($language); + } + + /** + * Tests the context in menu router rebuild. + */ + public function testMenuRouterRebuildContext() { + // Enter a language context before rebuilding the menu router tables. + $language_context = config_context_enter('Drupal\Core\Config\Context\LanguageConfigContext'); + $language_context->setLanguage(language_load('nl')); + menu_router_rebuild(); + + // Check that the language context was not used for building the menu item. + $this->assertTrue(menu_get_item('menu-test/context')['title'] == 'English', 'The free context is used when rebuilding menu router items.'); + } + +} diff --git a/core/modules/system/tests/modules/menu_test/config/locale.config.nl.menu_test.menu_item.yml b/core/modules/system/tests/modules/menu_test/config/locale.config.nl.menu_test.menu_item.yml new file mode 100644 index 0000000..a845667 --- /dev/null +++ b/core/modules/system/tests/modules/menu_test/config/locale.config.nl.menu_test.menu_item.yml @@ -0,0 +1 @@ +title: Dutch diff --git a/core/modules/system/tests/modules/menu_test/config/menu_test.menu_item.yml b/core/modules/system/tests/modules/menu_test/config/menu_test.menu_item.yml new file mode 100644 index 0000000..ad3ab76 --- /dev/null +++ b/core/modules/system/tests/modules/menu_test/config/menu_test.menu_item.yml @@ -0,0 +1 @@ +title: English diff --git a/core/modules/system/tests/modules/menu_test/menu_test.module b/core/modules/system/tests/modules/menu_test/menu_test.module index ab2ef30..903d756 100644 --- a/core/modules/system/tests/modules/menu_test/menu_test.module +++ b/core/modules/system/tests/modules/menu_test/menu_test.module @@ -293,6 +293,11 @@ function menu_test_menu() { 'type' => MENU_LOCAL_TASK, ); + $items['menu-test/context'] = array( + 'title' => \Drupal::config('menu_test.menu_item')->get('title'), + 'route_name' => 'menu_test.context', + ); + return $items; } diff --git a/core/modules/system/tests/modules/menu_test/menu_test.routing.yml b/core/modules/system/tests/modules/menu_test/menu_test.routing.yml index 5ab1a94..cc333da 100644 --- a/core/modules/system/tests/modules/menu_test/menu_test.routing.yml +++ b/core/modules/system/tests/modules/menu_test/menu_test.routing.yml @@ -543,3 +543,10 @@ menu_test.title_test_case4: _content: '\Drupal\menu_test\Controller\MenuTestController::menuTestCallback' requirements: _access: 'TRUE' + +menu_test.context: + path: '/menu-test/context' + defaults: + _content: '\Drupal\menu_test\Controller\MenuTestController::menuTestCallback' + requirements: + _access: 'TRUE'