コード例 #1
0
 /**
  * Ensure hierarchy persists after a menu rebuild.
  */
 public function testMenuRebuild()
 {
     // root
     // - child1
     // -- child2
     // --- child3
     // ---- child4
     $this->addMenuLink('root');
     $this->addMenuLink('child1', 'root');
     $this->addMenuLink('child2', 'child1');
     $this->addMenuLink('child3', 'child2');
     $this->addMenuLink('child4', 'child3');
     $this->assertEqual($this->treeStorage->getSubtreeHeight('root'), 5);
     $this->assertEqual($this->treeStorage->getSubtreeHeight('child1'), 4);
     $this->assertEqual($this->treeStorage->getSubtreeHeight('child2'), 3);
     $this->assertEqual($this->treeStorage->getSubtreeHeight('child3'), 2);
     $this->assertEqual($this->treeStorage->getSubtreeHeight('child4'), 1);
     // Intentionally leave child3 out to mimic static or external links.
     $definitions = $this->treeStorage->loadMultiple(['root', 'child1', 'child2', 'child4']);
     $this->treeStorage->rebuild($definitions);
     $this->assertEqual($this->treeStorage->getSubtreeHeight('root'), 5);
     $this->assertEqual($this->treeStorage->getSubtreeHeight('child1'), 4);
     $this->assertEqual($this->treeStorage->getSubtreeHeight('child2'), 3);
     $this->assertEqual($this->treeStorage->getSubtreeHeight('child3'), 2);
     $this->assertEqual($this->treeStorage->getSubtreeHeight('child4'), 1);
 }
コード例 #2
0
ファイル: MenuTreeStorageTest.php プロジェクト: nsp15/Drupal8
 /**
  * Tests finding the subtree height with content menu links.
  */
 public function testSubtreeHeight()
 {
     // root
     // - child1
     // -- child2
     // --- child3
     // ---- child4
     $this->addMenuLink('root');
     $this->addMenuLink('child1', 'root');
     $this->addMenuLink('child2', 'child1');
     $this->addMenuLink('child3', 'child2');
     $this->addMenuLink('child4', 'child3');
     $this->assertEqual($this->treeStorage->getSubtreeHeight('root'), 5);
     $this->assertEqual($this->treeStorage->getSubtreeHeight('child1'), 4);
     $this->assertEqual($this->treeStorage->getSubtreeHeight('child2'), 3);
     $this->assertEqual($this->treeStorage->getSubtreeHeight('child3'), 2);
     $this->assertEqual($this->treeStorage->getSubtreeHeight('child4'), 1);
 }
コード例 #3
0
 /**
  * Tests finding the subtree height with content menu links.
  */
 public function testSubtreeHeight()
 {
     $storage = \Drupal::entityManager()->getStorage('menu_link_content');
     // root
     // - child1
     // -- child2
     // --- child3
     // ---- child4
     $root = $storage->create(array('route_name' => 'menu_test.menu_name_test', 'menu_name' => 'menu1', 'bundle' => 'menu_link_content'));
     $root->save();
     $child1 = $storage->create(array('route_name' => 'menu_test.menu_name_test', 'menu_name' => 'menu1', 'bundle' => 'menu_link_content', 'parent' => $root->getPluginId()));
     $child1->save();
     $child2 = $storage->create(array('route_name' => 'menu_test.menu_name_test', 'menu_name' => 'menu1', 'bundle' => 'menu_link_content', 'parent' => $child1->getPluginId()));
     $child2->save();
     $child3 = $storage->create(array('route_name' => 'menu_test.menu_name_test', 'menu_name' => 'menu1', 'bundle' => 'menu_link_content', 'parent' => $child2->getPluginId()));
     $child3->save();
     $child4 = $storage->create(array('route_name' => 'menu_test.menu_name_test', 'menu_name' => 'menu1', 'bundle' => 'menu_link_content', 'parent' => $child3->getPluginId()));
     $child4->save();
     $this->assertEqual($this->treeStorage->getSubtreeHeight($root->getPluginId()), 5);
     $this->assertEqual($this->treeStorage->getSubtreeHeight($child1->getPluginId()), 4);
     $this->assertEqual($this->treeStorage->getSubtreeHeight($child2->getPluginId()), 3);
     $this->assertEqual($this->treeStorage->getSubtreeHeight($child3->getPluginId()), 2);
     $this->assertEqual($this->treeStorage->getSubtreeHeight($child4->getPluginId()), 1);
 }