3 namespace Drupal\KernelTests\Core\Menu;
5 use Drupal\Core\Menu\MenuTreeParameters;
6 use Drupal\KernelTests\KernelTestBase;
9 * Tests integration of static menu links.
13 class MenuLinkDefaultIntegrationTest extends KernelTestBase {
20 public static $modules = [
25 * Tests moving a static menu link without a specified menu to the root.
27 public function testMoveToRoot() {
28 /** @var \Drupal\Core\Menu\MenuLinkManagerInterface $menu_link_manager */
29 $menu_link_manager = \Drupal::service('plugin.manager.menu.link');
30 $menu_link_manager->rebuild();
32 $menu_link = $menu_link_manager->getDefinition('menu_test.child');
33 $this->assertEqual($menu_link['parent'], 'menu_test.parent');
34 $this->assertEqual($menu_link['menu_name'], 'test');
36 $tree = \Drupal::menuTree()->load('test', new MenuTreeParameters());
37 $this->assertEqual(count($tree), 1);
38 $this->assertEqual($tree['menu_test.parent']->link->getPluginId(), 'menu_test.parent');
39 $this->assertEqual($tree['menu_test.parent']->subtree['menu_test.child']->link->getPluginId(), 'menu_test.child');
41 // Ensure that the menu name is not forgotten.
42 $menu_link_manager->updateDefinition('menu_test.child', ['parent' => '']);
43 $menu_link = $menu_link_manager->getDefinition('menu_test.child');
45 $this->assertEqual($menu_link['parent'], '');
46 $this->assertEqual($menu_link['menu_name'], 'test');
48 $tree = \Drupal::menuTree()->load('test', new MenuTreeParameters());
49 $this->assertEqual(count($tree), 2);
50 $this->assertEqual($tree['menu_test.parent']->link->getPluginId(), 'menu_test.parent');
51 $this->assertEqual($tree['menu_test.child']->link->getPluginId(), 'menu_test.child');
53 $this->assertTrue(TRUE);