< prev index next >

test/java/awt/event/KeyEvent/ExtendedModifiersTest/ExtendedModifiersTest.java

Print this page

        

*** 36,102 **** * @build LWButton * @build LWList * @build ExtendedRobot * @run main/timeout=600 ExtendedModifiersTest */ ! ! ! import java.awt.*; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.util.ArrayList; import static jdk.testlibrary.Asserts.*; import test.java.awt.event.helpers.lwcomponents.LWButton; import test.java.awt.event.helpers.lwcomponents.LWList; - public class ExtendedModifiersTest implements KeyListener { Frame frame; - Button button; LWButton buttonLW; TextField textField; TextArea textArea; List list; LWList listLW; private final ExtendedRobot robot; ! private final static int robotDelay = 1000; ! private final static int waitDelay = 5000; ! private final static int keyDelay = 500; ! ! private final Object lock; ! ! private boolean keyPressedFlag = false; private int modifiersEx = 0; private String exText = ""; - @Override ! public void keyTyped(KeyEvent e) {} @Override public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_ESCAPE) { return; } - modifiersEx = e.getModifiersEx(); exText = InputEvent.getModifiersExText(modifiersEx); keyPressedFlag = true; ! synchronized (lock) { lock.notifyAll(); } } @Override ! public void keyReleased(KeyEvent e) {} ! public void createGUI() { frame = new Frame(); frame.setTitle("ExtendedModifiersTest"); --- 36,105 ---- * @build LWButton * @build LWList * @build ExtendedRobot * @run main/timeout=600 ExtendedModifiersTest */ ! import java.awt.Button; ! import java.awt.Color; ! import java.awt.Component; ! import java.awt.EventQueue; ! import java.awt.Frame; ! import java.awt.GridLayout; ! import java.awt.List; ! import java.awt.Point; ! import java.awt.TextArea; ! import java.awt.TextField; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.util.ArrayList; import static jdk.testlibrary.Asserts.*; import test.java.awt.event.helpers.lwcomponents.LWButton; import test.java.awt.event.helpers.lwcomponents.LWList; public class ExtendedModifiersTest implements KeyListener { Frame frame; Button button; LWButton buttonLW; TextField textField; TextArea textArea; List list; LWList listLW; private final ExtendedRobot robot; ! private final static int WAIT_DELAY = 5000; ! private final static int KEY_DELAY = 500; ! private final Object LOCK; + private boolean keyPressedFlag; private int modifiersEx = 0; private String exText = ""; @Override ! public void keyTyped(KeyEvent e) { ! } @Override public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_ESCAPE) { return; } modifiersEx = e.getModifiersEx(); exText = InputEvent.getModifiersExText(modifiersEx); keyPressedFlag = true; ! synchronized (LOCK) { ! LOCK.notifyAll(); ! } } @Override ! public void keyReleased(KeyEvent e) { ! } public void createGUI() { frame = new Frame(); frame.setTitle("ExtendedModifiersTest");
*** 117,193 **** textArea = new TextArea(5, 5); textArea.addKeyListener(this); frame.add(textArea); list = new List(); ! for (int i = 1; i <= 5; ++i) { list.add("item " + i); } list.addKeyListener(this); frame.add(list); listLW = new LWList(); ! for (int i = 1; i <= 5; ++i) { listLW.add("item " + i); } listLW.addKeyListener(this); frame.add(listLW); frame.setBackground(Color.gray); frame.setSize(500, 100); frame.setVisible(true); frame.toFront(); } public ExtendedModifiersTest() throws Exception { ! lock = new Object(); robot = new ExtendedRobot(); ! EventQueue.invokeAndWait( this::createGUI ); } ! ! private void runScenario(int keys[], int refMask) { ! ! if (keys.length < 1) { return; } for (int k = 0; k < keys.length; ++k) { keyPressedFlag = false; robot.keyPress(keys[k]); ! robot.delay(keyDelay); if (!keyPressedFlag) { ! synchronized (lock) { try { ! lock.wait(waitDelay); ! } catch (InterruptedException ex) {} } } if (!keyPressedFlag) { robot.keyRelease(keys[k]); ! robot.delay(keyDelay); assertTrue(false, "key press event was not received"); } } ! int modEx = modifiersEx & refMask; ! for (int k = keys.length - 1; k >=0; --k) { robot.keyRelease(keys[k]); ! robot.delay(keyDelay); } ! ! assertEQ(modifiersEx, modEx, "invalid extended modifiers"); for (int k = 0; k < keys.length; ++k) { String keyText = KeyEvent.getKeyText(keys[k]).toLowerCase(); ! assertTrue(exText.toLowerCase().contains(keyText), "invalid extended modifier keys description"); } System.out.println(exText + " : passed"); robot.type(KeyEvent.VK_ESCAPE); ! ! robot.delay(robotDelay); } private void doTest() throws Exception { ArrayList<Component> components = new ArrayList(); --- 120,201 ---- textArea = new TextArea(5, 5); textArea.addKeyListener(this); frame.add(textArea); list = new List(); ! for (int i = 1; i <= 5; ++i) { ! list.add("item " + i); ! } list.addKeyListener(this); frame.add(list); listLW = new LWList(); ! for (int i = 1; i <= 5; ++i) { ! listLW.add("item " + i); ! } listLW.addKeyListener(this); frame.add(listLW); frame.setBackground(Color.gray); frame.setSize(500, 100); frame.setVisible(true); frame.toFront(); } public ExtendedModifiersTest() throws Exception { ! LOCK = new Object(); robot = new ExtendedRobot(); ! EventQueue.invokeAndWait(this::createGUI); } ! private void runScenario(int keys[], int expectedMask) { ! if (keys.length < 1) { ! return; ! } for (int k = 0; k < keys.length; ++k) { keyPressedFlag = false; robot.keyPress(keys[k]); ! robot.delay(KEY_DELAY); if (!keyPressedFlag) { ! synchronized (LOCK) { try { ! LOCK.wait(WAIT_DELAY); ! } catch (InterruptedException ex) { ! ex.printStackTrace(); ! } } } if (!keyPressedFlag) { robot.keyRelease(keys[k]); ! robot.delay(KEY_DELAY); assertTrue(false, "key press event was not received"); } } ! int modEx = modifiersEx & expectedMask; ! for (int k = keys.length - 1; k >= 0; --k) { robot.keyRelease(keys[k]); ! robot.delay(KEY_DELAY); } ! assertEQ(expectedMask, modEx, "invalid extended modifiers"); for (int k = 0; k < keys.length; ++k) { String keyText = KeyEvent.getKeyText(keys[k]).toLowerCase(); ! assertTrue(exText.toLowerCase().contains(keyText), ! "invalid extended modifier keys description"); } System.out.println(exText + " : passed"); robot.type(KeyEvent.VK_ESCAPE); ! robot.waitForIdle(); } private void doTest() throws Exception { ArrayList<Component> components = new ArrayList();
*** 199,230 **** components.add(listLW); String OS = System.getProperty("os.name").toLowerCase(); System.out.println(OS); ! for (Component c: components) { String className = c.getClass().getName(); System.out.println("component class : " + className); Point origin = c.getLocationOnScreen(); int xc = origin.x + c.getWidth() / 2; int yc = origin.y + c.getHeight() / 2; Point center = new Point(xc, yc); ! robot.delay(robotDelay); robot.glide(origin, center); robot.click(); ! robot.delay(robotDelay); // 1. shift + control runScenario(new int[]{KeyEvent.VK_SHIFT, KeyEvent.VK_CONTROL}, InputEvent.SHIFT_DOWN_MASK | InputEvent.CTRL_DOWN_MASK); // 2. alt + shift + control ! runScenario(new int[]{KeyEvent.VK_ALT, KeyEvent.VK_SHIFT, KeyEvent.VK_CONTROL}, ! InputEvent.ALT_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK | InputEvent.CTRL_DOWN_MASK); // 3. shift runScenario(new int[]{KeyEvent.VK_SHIFT}, InputEvent.SHIFT_DOWN_MASK); --- 207,239 ---- components.add(listLW); String OS = System.getProperty("os.name").toLowerCase(); System.out.println(OS); ! for (Component c : components) { String className = c.getClass().getName(); System.out.println("component class : " + className); Point origin = c.getLocationOnScreen(); int xc = origin.x + c.getWidth() / 2; int yc = origin.y + c.getHeight() / 2; Point center = new Point(xc, yc); ! robot.waitForIdle(); robot.glide(origin, center); robot.click(); ! robot.waitForIdle(); // 1. shift + control runScenario(new int[]{KeyEvent.VK_SHIFT, KeyEvent.VK_CONTROL}, InputEvent.SHIFT_DOWN_MASK | InputEvent.CTRL_DOWN_MASK); // 2. alt + shift + control ! runScenario(new int[]{KeyEvent.VK_ALT, KeyEvent.VK_SHIFT, ! KeyEvent.VK_CONTROL}, InputEvent.ALT_DOWN_MASK ! | InputEvent.SHIFT_DOWN_MASK | InputEvent.CTRL_DOWN_MASK); // 3. shift runScenario(new int[]{KeyEvent.VK_SHIFT}, InputEvent.SHIFT_DOWN_MASK);
*** 234,263 **** // 5. shift + alt runScenario(new int[]{KeyEvent.VK_SHIFT, KeyEvent.VK_ALT}, InputEvent.SHIFT_DOWN_MASK | InputEvent.ALT_DOWN_MASK); - if (OS.contains("os x") || OS.contains("sunos")) { // 6. meta ! runScenario(new int[]{KeyEvent.VK_META}, InputEvent.META_DOWN_MASK); // 7. shift + ctrl + alt + meta ! runScenario(new int[]{KeyEvent.VK_SHIFT, KeyEvent.VK_CONTROL, KeyEvent.VK_ALT, KeyEvent.VK_META}, ! InputEvent.SHIFT_DOWN_MASK | InputEvent.CTRL_DOWN_MASK | InputEvent.ALT_DOWN_MASK | InputEvent.META_DOWN_MASK); // 8. meta + shift + ctrl ! runScenario(new int[]{KeyEvent.VK_META, KeyEvent.VK_SHIFT, KeyEvent.VK_CONTROL}, ! InputEvent.META_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK | InputEvent.CTRL_DOWN_MASK); // 9. meta + shift + alt ! runScenario(new int[]{KeyEvent.VK_META, KeyEvent.VK_SHIFT, KeyEvent.VK_ALT}, ! InputEvent.META_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK | InputEvent.ALT_DOWN_MASK); // 10. meta + ctrl + alt ! runScenario(new int[]{KeyEvent.VK_META, KeyEvent.VK_CONTROL, KeyEvent.VK_ALT}, ! InputEvent.META_DOWN_MASK | InputEvent.CTRL_DOWN_MASK | InputEvent.ALT_DOWN_MASK); } } robot.waitForIdle(); frame.dispose(); --- 243,277 ---- // 5. shift + alt runScenario(new int[]{KeyEvent.VK_SHIFT, KeyEvent.VK_ALT}, InputEvent.SHIFT_DOWN_MASK | InputEvent.ALT_DOWN_MASK); if (OS.contains("os x") || OS.contains("sunos")) { // 6. meta ! runScenario(new int[]{KeyEvent.VK_META}, ! InputEvent.META_DOWN_MASK); // 7. shift + ctrl + alt + meta ! runScenario(new int[]{KeyEvent.VK_SHIFT, KeyEvent.VK_CONTROL, ! KeyEvent.VK_ALT, KeyEvent.VK_META}, ! InputEvent.SHIFT_DOWN_MASK | InputEvent.CTRL_DOWN_MASK ! | InputEvent.ALT_DOWN_MASK | InputEvent.META_DOWN_MASK); // 8. meta + shift + ctrl ! runScenario(new int[]{KeyEvent.VK_META, KeyEvent.VK_SHIFT, ! KeyEvent.VK_CONTROL}, InputEvent.META_DOWN_MASK ! | InputEvent.SHIFT_DOWN_MASK | InputEvent.CTRL_DOWN_MASK); // 9. meta + shift + alt ! runScenario(new int[]{KeyEvent.VK_META, KeyEvent.VK_SHIFT, ! KeyEvent.VK_ALT}, InputEvent.META_DOWN_MASK ! | InputEvent.SHIFT_DOWN_MASK | InputEvent.ALT_DOWN_MASK); // 10. meta + ctrl + alt ! runScenario(new int[]{KeyEvent.VK_META, KeyEvent.VK_CONTROL, ! KeyEvent.VK_ALT}, InputEvent.META_DOWN_MASK ! | InputEvent.CTRL_DOWN_MASK | InputEvent.ALT_DOWN_MASK); } } robot.waitForIdle(); frame.dispose();
*** 266,271 **** public static void main(String[] args) throws Exception { ExtendedModifiersTest test = new ExtendedModifiersTest(); test.doTest(); } } - --- 280,284 ----
< prev index next >