/** * {@inheritDoc} */ @Override protected void afterPaint(final RenderContext renderContext) { super.afterPaint(renderContext); // Close all menu items (except for tree). Menus are opened on each AJAX request as needed. if (getType() != MenuType.TREE) { for (MenuItem item : getMenuItems(true)) { if (item instanceof WSubMenu) { ((WSubMenu) item).setOpen(false); } } } }
@Test public void testRemoveItem() { WMenu menuBar = new WMenu(); Assert.assertTrue("Menu item list should be empty by default", menuBar.getMenuItems().isEmpty()); // Add items WMenuItem item1 = new WMenuItem("item1"); WMenuItem item2 = new WMenuItem("item2"); menuBar.add(item1); menuBar.add(item2); Assert.assertTrue("Menu item1 should have been added to menu bar", menuBar.getMenuItems().contains(item1)); Assert.assertTrue("Menu item2 should have been added to menu bar", menuBar.getMenuItems().contains(item2)); // Remove item menuBar.removeMenuItem(item1); Assert.assertFalse("Menu item1 should not been in items list after being removed", menuBar.getMenuItems().contains(item1)); Assert.assertTrue("Menu item2 should be in the items list", menuBar.getMenuItems().contains(item2)); }
@Test public void testGetItemsRecursive() { WMenu menuBar = new WMenu(); WMenuItem menuItem = new WMenuItem("item"); menuBar.add(menuItem); WSubMenu subMenu = new WSubMenu("sub"); menuBar.add(subMenu); WMenuItem subItem = new WMenuItem("subItem"); subMenu.add(subItem); // Not recursive Assert.assertEquals("Items list should have two items", 2, menuBar.getMenuItems(false).size()); Assert.assertTrue("Items list should contain the menu item", menuBar.getMenuItems(false).contains(menuItem)); Assert.assertTrue("Items list should contain the sub menu item", menuBar.getMenuItems(false).contains(subMenu)); // Recursive (include submenu children) Assert.assertEquals("Items list should have three items", 3, menuBar.getMenuItems(true).size()); Assert.assertTrue("Items list should contain the menu item", menuBar.getMenuItems(true).contains(menuItem)); Assert.assertTrue("Items list should contain the sub menu item", menuBar.getMenuItems(true).contains(subMenu)); Assert.assertTrue("Items list should contain the sub item", menuBar.getMenuItems(true).contains(subItem)); }
@Test public void testRemoveAllItems() { WMenu menuBar = new WMenu(); Assert.assertTrue("Menu item list should be empty by default", menuBar.getMenuItems().isEmpty()); // Add items WMenuItem item1 = new WMenuItem("item1"); WMenuItem item2 = new WMenuItem("item2"); menuBar.add(item1); menuBar.add(item2); Assert.assertEquals("Menu items list should have 2 items", 2, menuBar.getMenuItems().size()); // Remove item menuBar.removeAllMenuItems(); Assert.assertTrue("Menu items should be empty", menuBar.getMenuItems().isEmpty()); }
for (MenuItem item : menu.getMenuItems()) { WSubMenu result = getSubMenuByText(text, item); if (result != null) {
@Test public void testAddSeparator1() { WMenu menuBar = new WMenu(); menuBar.addSeparator(); Assert.assertTrue("Menu should contain a seperator", menuBar.getMenuItems().get(0) instanceof WSeparator); }
@Test public void testGetItems() { WMenu menuBar = new WMenu(); WMenuItem menuItem = new WMenuItem("item"); menuBar.add(menuItem); // Add submenu with child items WSubMenu subMenu = new WSubMenu("sub"); menuBar.add(subMenu); WMenuItem subItem = new WMenuItem("subItem"); subMenu.add(subItem); Assert.assertEquals("Items list should have two items", 2, menuBar.getMenuItems().size()); Assert.assertTrue("Items list should contain the menu item", menuBar.getMenuItems().contains(menuItem)); Assert.assertTrue("Items list should contain the sub menu item", menuBar.getMenuItems().contains(subMenu)); }
/** * Override preparePaintComponent in order to populate the recently accessed menu when a user accesses this panel * for the first time. * * @param request the request being responded to. */ @Override protected void preparePaintComponent(final Request request) { super.preparePaintComponent(request); if (!isInitialised()) { updateRecentMenu(); setInitialised(true); } boolean hasRecentMenu = menu.getMenuItems().size() > 0; menu.setVisible(hasRecentMenu); recentMenuHeading.setVisible(hasRecentMenu); }
@Test public void testAddMenuItem() { WMenu menuBar = new WMenu(); WMenuItem menuItem = new WMenuItem("item"); menuBar.add(menuItem); Assert.assertTrue("Menu item should have been added to menu bar", menuBar.getMenuItems().contains(menuItem)); }
@Test public void testAddSubMenu() { WMenu menuBar = new WMenu(); WSubMenu subMenu = new WSubMenu("submenu"); menuBar.add(subMenu); Assert.assertTrue("Sub-menu should have been added to menu bar", menuBar.getMenuItems().contains(subMenu)); }
@Test public void testAddItem() { WMenu menuBar = new WMenu(); WMenuItem menuItem = new WMenuItem("item"); menuBar.addMenuItem(menuItem); Assert.assertTrue("Menu item should have been added to menu bar", menuBar.getMenuItems().contains(menuItem)); }
@Test public void testAddSeparator2() { WMenu menuBar = new WMenu(); WSeparator separator = new WSeparator(); menuBar.add(separator); Assert.assertTrue("Separator should have been added to menu bar", menuBar.getMenuItems().contains(separator)); }
@Test public void testAddMenuItemGroup() { WMenu menuBar = new WMenu(); WMenuItemGroup group = new WMenuItemGroup(""); menuBar.add(group); Assert.assertTrue("Group item should have been added to menu bar", menuBar.getMenuItems().contains(group)); }