MenuLinkTreeElementTest.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. namespace Drupal\Tests\Core\Menu;
  3. use Drupal\Core\Menu\MenuLinkTreeElement;
  4. use Drupal\Tests\UnitTestCase;
  5. /**
  6. * Tests the menu link tree element value object.
  7. *
  8. * @group Menu
  9. *
  10. * @coversDefaultClass \Drupal\Core\Menu\MenuLinkTreeElement
  11. */
  12. class MenuLinkTreeElementTest extends UnitTestCase {
  13. /**
  14. * Tests construction.
  15. *
  16. * @covers ::__construct
  17. */
  18. public function testConstruction() {
  19. $link = MenuLinkMock::create(['id' => 'test']);
  20. $item = new MenuLinkTreeElement($link, FALSE, 3, FALSE, []);
  21. $this->assertSame($link, $item->link);
  22. $this->assertSame(FALSE, $item->hasChildren);
  23. $this->assertSame(3, $item->depth);
  24. $this->assertSame(FALSE, $item->inActiveTrail);
  25. $this->assertSame([], $item->subtree);
  26. }
  27. /**
  28. * Tests count().
  29. *
  30. * @covers ::count
  31. */
  32. public function testCount() {
  33. $link_1 = MenuLinkMock::create(['id' => 'test_1']);
  34. $link_2 = MenuLinkMock::create(['id' => 'test_2']);
  35. $child_item = new MenuLinkTreeElement($link_2, FALSE, 2, FALSE, []);
  36. $parent_item = new MenuLinkTreeElement($link_1, FALSE, 2, FALSE, [$child_item]);
  37. $this->assertSame(1, $child_item->count());
  38. $this->assertSame(2, $parent_item->count());
  39. }
  40. }