public function testSubMenu() { $menu = new \Roboc\Menu\Menu('test'); $item = $menu->item('Reports')->subMenu(function (\Roboc\Menu\Menu $menu) { $menu->item('Summary')->to('/reports/summary'); $menu->item('Detailed')->to('/reports/detailed'); }); static::assertTrue($item->hasSubMenu()); static::assertTrue($item->getSubMenu()->hasItems()); static::assertCount(2, $item->getSubMenu()->items()); static::assertInstanceOf(Roboc\Support\Interfaces\MenuItemInterface::class, $item->getSubMenu()->items()[0]); static::assertTrue($item->getSubMenu()->hasParent()); static::assertSame($item, $item->getSubMenu()->parent()); }
public function testActiveMenuItems() { $menu = new \Roboc\Menu\Menu('main-menu'); $menu->item('Home')->to('/home'); $inbox = $menu->item('Inbox')->to('/inbox')->badge(5, ['color' => 'red']); $reports = $menu->item('Reports')->subMenu(function (\Roboc\Menu\Menu $menu) { $menu->item('Summary')->to('/reports/summary'); $menu->item('Detailed')->to('/reports/detailed'); }); $menu->item('Settings')->to('/settings'); $menu->setActive('/reports/summary'); static::assertSame($inbox, $menu->getItemByLink('/inbox')); static::assertNull($menu->getItemByLink('/profile')); static::assertTrue($menu->getItemByLink('/reports/summary')->isActive()); static::assertTrue($reports->isActive()); }