@Test public void testEnterSaveKeyHandler() { configHolder.setEnterSavesApproved(true); keyShortcuts.registerEditorActionKeys(targetContentsPresenter); verify(keyShortcutPresenter, atLeastOnce()).register(keyShortcutCaptor.capture()); KeyShortcut keys = keyShortcutCaptor.getAllValues().get(2); keys.getHandler().onKeyShortcut(null); verify(targetContentsPresenter).checkConfirmationBeforeSave(); }
@Test public void testOnUserConfigChangedToEnterSaves() throws Exception { // Given: change user config enter save approved when(messages.saveAsTranslated()).thenReturn("enter save as approved"); keyShortcuts.registerKeys(targetContentsPresenter); configHolder.setEnterSavesApproved(true); // When: keyShortcuts.onUserConfigChanged(UserConfigChangeEvent.EDITOR_CONFIG_CHANGE_EVENT); // Then: verify(keyShortcutPresenter, atLeastOnce()).register(keyShortcutCaptor.capture()); List<KeyShortcut> allKeys = keyShortcutCaptor.getAllValues(); KeyShortcut shortcut = allKeys.get(allKeys.size() - 1); // last key assertKeys( shortcut, "enter save as approved", true, true, new Keys(Keys.NO_MODIFIER, KeyCodes.KEY_ENTER)); }
@Test public void registerEditorActionKeysAfterChangeUserConfig() { // enter and esc now active when(messages.saveAsFuzzy()).thenReturn("save fuzzy"); when(messages.saveAsTranslated()).thenReturn("save approved"); when(messages.copyFromSource()).thenReturn("copy from source"); when(messages.switchBetweenEditor()).thenReturn("switch editor"); configHolder.setEnterSavesApproved(true); keyShortcuts.registerEditorActionKeys(targetContentsPresenter); verify(keyShortcutPresenter, times(5)).register(keyShortcutCaptor.capture()); List<KeyShortcut> keys = keyShortcutCaptor.getAllValues(); assertKeys(keys.get(0), "save fuzzy", true, true, new Keys(Keys.CTRL_KEY, 'S')); assertKeys( keys.get(1), "save approved", true, true, new Keys(Keys.CTRL_KEY, KeyCodes.KEY_ENTER)); assertKeys( keys.get(2), "save approved", true, true, new Keys(Keys.NO_MODIFIER, KeyCodes.KEY_ENTER)); assertKeys(keys.get(3), "copy from source", true, true, new Keys(Keys.ALT_KEY, 'G')); assertAttentionKeys(keys.get(3), new Keys('G')); assertKeys(keys.get(4), "switch editor", true, true, new Keys(Keys.CTRL_ALT_KEYS, 'H')); }