Example #1
0
 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());
 }
Example #2
0
 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());
 }