diff --git a/core/modules/menu_link/lib/Drupal/menu_link/MenuLinkStorageController.php b/core/modules/menu_link/lib/Drupal/menu_link/MenuLinkStorageController.php index 43d54ce..31d14f6 100644 --- a/core/modules/menu_link/lib/Drupal/menu_link/MenuLinkStorageController.php +++ b/core/modules/menu_link/lib/Drupal/menu_link/MenuLinkStorageController.php @@ -111,6 +111,7 @@ protected function attachLoad(&$menu_links, $load_revision = FALSE) { foreach ($menu_links as &$menu_link) { $menu_link->options = unserialize($menu_link->options); + $menu_link->route_parameters = unserialize($menu_link->route_parameters); // Use the weight property from the menu link. $menu_link->router_item['weight'] = $menu_link->weight; diff --git a/core/modules/system/lib/Drupal/system/Tests/Menu/LinksTest.php b/core/modules/system/lib/Drupal/system/Tests/Menu/LinksTest.php index ddc834b..5df9629 100644 --- a/core/modules/system/lib/Drupal/system/Tests/Menu/LinksTest.php +++ b/core/modules/system/lib/Drupal/system/Tests/Menu/LinksTest.php @@ -13,6 +13,14 @@ * Tests for menu links. */ class LinksTest extends WebTestBase { + + /** + * Modules to enable. + * + * @var array + */ + public static $modules = array('router_test'); + public static function getInfo() { return array( 'name' => 'Menu links', @@ -229,4 +237,28 @@ function testMenuLinkRouterReparenting() { ); $this->assertMenuLinkParents($links, $expected_hierarchy); } + + /** + * Tests the router system integration (route_name and route_parameters). + */ + public function testRouterIntegration() { + $menu_link = entity_create('menu_link', array( + 'link_path' => 'router_test/test1', + )); + $menu_link->save(); + $this->assertEqual($menu_link->route_name, 'router_test_1'); + $this->assertEqual($menu_link->route_parameters, array()); + + $menu_link = entity_create('menu_link', array( + 'link_path' => 'router_test/test3/test', + )); + $menu_link->save(); + $this->assertEqual($menu_link->route_name, 'router_test_3'); + $this->assertEqual($menu_link->route_parameters, array('value' => 'test')); + + $menu_link = entity_load('menu_link', $menu_link->id()); + $this->assertEqual($menu_link->route_name, 'router_test_3'); + $this->assertEqual($menu_link->route_parameters, array('value' => 'test')); + } + }