public void populateMenu(final FileMenuBuilder menu) { final MenuItem clearItem = itemsBuilder.newClearItem(this::menu_clear); menuItems.put(ClearSessionCommand.class, clearItem); final MenuItem visitGraphItem = itemsBuilder.newVisitGraphItem(this::menu_visitGraph); menuItems.put(VisitGraphSessionCommand.class, visitGraphItem); final MenuItem switchGridItem = itemsBuilder.newSwitchGridItem(this::menu_switchGrid); menuItems.put(SwitchGridSessionCommand.class, switchGridItem); final MenuItem deleteSelectionItem = itemsBuilder.newDeleteSelectionItem(this::menu_deleteSelected); menuItems.put(DeleteSelectionSessionCommand.class, deleteSelectionItem); final MenuItem undoItem = itemsBuilder.newUndoItem(this::menu_undo); menuItems.put(UndoSessionCommand.class, undoItem); final MenuItem redoItem = itemsBuilder.newRedoItem(this::menu_redo); menuItems.put(RedoSessionCommand.class, redoItem); final MenuItem validateItem = itemsBuilder.newValidateItem(this::validate); menuItems.put(ValidateSessionCommand.class, validateItem); final MenuItem exportsItem = itemsBuilder.newExportsItem(this::export_imagePNG, this::export_imageJPG, this::export_imageSVG, menuItems.put(ExportToPdfSessionCommand.class, exportsItem); menuItems.put(ExportToBpmnSessionCommand.class, exportsItem); final MenuItem pasteItem = itemsBuilder.newPasteItem(this::paste); menuItems.put(PasteSelectionSessionCommand.class, pasteItem); final MenuItem copyItem = itemsBuilder.newCopyItem(this::menu_copy); menuItems.put(CopySelectionSessionCommand.class, copyItem); final MenuItem cutItem = itemsBuilder.newCutItem(this::menu_cut); menuItems.put(CutSelectionSessionCommand.class, cutItem);
@Test public void testEnableItemWithRegisteredMenuItem() { final MenuItem clearMenuItem = mock(MenuItem.class); when(itemsBuilder.newClearItem(any(Command.class))).thenReturn(clearMenuItem); editorMenuSessionItems.populateMenu(fileMenuBuilder); editorMenuSessionItems.setItemEnabled(ClearSessionCommand.class, true); verify(clearMenuItem).setEnabled(true); editorMenuSessionItems.setItemEnabled(ClearSessionCommand.class, false); verify(clearMenuItem).setEnabled(false); }
@Test public void testExportsItem() { menuItemsBuilder.newExportsItem(exportPNGCommand, exportJPGCommand, exportSVGCommand,
@Test public void testIsEnabledWithUnknownMenuItem() { final MenuItem menuItem = mock(MenuItem.class); when(itemsBuilder.newClearItem(any(Command.class))).thenReturn(menuItem); editorMenuSessionItems.populateMenu(fileMenuBuilder); try { assertFalse(editorMenuSessionItems.isItemEnabled(ClearSessionCommand.class)); } catch (Exception e) { fail(e); } } }
@Test public void testFileMenuBuilder() { editorMenuSessionItems.populateMenu(fileMenuBuilder); verify(itemsBuilder).newClearItem(any(Command.class)); verify(itemsBuilder).newVisitGraphItem(any(Command.class)); verify(itemsBuilder).newSwitchGridItem(any(Command.class)); verify(itemsBuilder).newDeleteSelectionItem(any(Command.class)); verify(itemsBuilder).newUndoItem(any(Command.class)); verify(itemsBuilder).newRedoItem(any(Command.class)); verify(itemsBuilder).newValidateItem(any(Command.class)); verify(itemsBuilder).newExportsItem(any(Command.class), any(Command.class), any(Command.class), any(Command.class), any(Command.class)); verify(itemsBuilder).newPasteItem(any(Command.class)); verify(itemsBuilder).newCopyItem(any(Command.class)); verify(itemsBuilder).newCutItem(any(Command.class)); }
@Test public void testIsEnabledWithRegisteredMenuItem() { final MenuItem menuItem = new BaseMenuCustom<String>() { @Override public String build() { return ""; } }; when(itemsBuilder.newClearItem(any(Command.class))).thenReturn(menuItem); editorMenuSessionItems.populateMenu(fileMenuBuilder); editorMenuSessionItems.setItemEnabled(ClearSessionCommand.class, true); assertTrue(menuItem.isEnabled()); editorMenuSessionItems.setItemEnabled(ClearSessionCommand.class, false); assertFalse(menuItem.isEnabled()); }