/* * Copyright 2016 Igor Maznitsa. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.igormaznitsa.mindmap.swing.panel.utils; import org.junit.Test; import static org.junit.Assert.*; import java.awt.Component; import java.awt.event.KeyEvent; import javax.swing.KeyStroke; import org.mockito.Mockito; public class KeyShortcutTest { @Test public void testIsEvent(){ final KeyShortcut shortcut = new KeyShortcut("some", KeyEvent.VK_UP, 0); final KeyEvent eventShift = new KeyEvent(Mockito.mock(Component.class), 1, 0L, KeyEvent.SHIFT_MASK, KeyEvent.VK_UP); final KeyEvent eventShiftCtrl = new KeyEvent(Mockito.mock(Component.class), 1, 0L, KeyEvent.SHIFT_MASK | KeyEvent.CTRL_MASK, KeyEvent.VK_UP); assertFalse(shortcut.isEvent(eventShift)); assertFalse(shortcut.isEvent(eventShift,KeyShortcut.ALL_MODIFIERS_MASK ^ KeyEvent.CTRL_MASK)); assertTrue(shortcut.isEvent(eventShift,KeyShortcut.ALL_MODIFIERS_MASK ^ KeyEvent.SHIFT_MASK)); assertFalse(shortcut.isEvent(eventShiftCtrl)); assertFalse(shortcut.isEvent(eventShiftCtrl,KeyShortcut.ALL_MODIFIERS_MASK ^ KeyEvent.CTRL_MASK)); assertFalse(shortcut.isEvent(eventShiftCtrl,KeyShortcut.ALL_MODIFIERS_MASK ^ KeyEvent.SHIFT_MASK)); assertTrue(shortcut.isEvent(eventShiftCtrl,KeyShortcut.ALL_MODIFIERS_MASK ^ KeyEvent.SHIFT_MASK ^ KeyEvent.CTRL_MASK)); } @Test public void testDoesShortcutConflict() { final KeyShortcut shortcut = new KeyShortcut("some", KeyEvent.VK_0, KeyEvent.SHIFT_MASK); assertFalse(shortcut.doesConflictWith(null)); assertFalse(shortcut.doesConflictWith(KeyStroke.getKeyStroke(KeyEvent.VK_0, KeyEvent.CTRL_MASK))); assertFalse(shortcut.doesConflictWith(KeyStroke.getKeyStroke(KeyEvent.VK_1, KeyEvent.SHIFT_MASK | KeyEvent.CTRL_MASK))); assertFalse(shortcut.doesConflictWith(KeyStroke.getKeyStroke(KeyEvent.VK_0, KeyEvent.CTRL_DOWN_MASK))); assertFalse(shortcut.doesConflictWith(KeyStroke.getKeyStroke(KeyEvent.VK_1, KeyEvent.SHIFT_DOWN_MASK | KeyEvent.CTRL_DOWN_MASK))); assertTrue(shortcut.doesConflictWith(KeyStroke.getKeyStroke(KeyEvent.VK_0, KeyEvent.SHIFT_MASK | KeyEvent.CTRL_MASK))); assertTrue(shortcut.doesConflictWith(KeyStroke.getKeyStroke(KeyEvent.VK_0, KeyEvent.SHIFT_MASK))); assertTrue(shortcut.doesConflictWith(KeyStroke.getKeyStroke(KeyEvent.VK_0, KeyEvent.SHIFT_DOWN_MASK | KeyEvent.CTRL_DOWN_MASK))); assertTrue(shortcut.doesConflictWith(KeyStroke.getKeyStroke(KeyEvent.VK_0, KeyEvent.SHIFT_DOWN_MASK))); } }