private void _doSingleButtonPressAndRelease(final int keyCode, final int keyModifierMask) throws Exception { if (_debug) { _debugPrintStream.println("\n>>>> _doSingleButtonPressAndRelease"); } _doKeyPress(keyCode); for (int n = 0; n < _numButtonsToTest; ++n) { int awtButtonMask = _awtButtonMasks[n]; if (_debug) { _debugPrintStream.println("*** pressing button " + (n + 1)); } _testMouseListener.setExpectedModifiers( _getNewtModifiersForAwtExtendedModifiers(keyModifierMask | awtButtonMask)); _robot.mousePress(awtButtonMask); _checkFailures("mouse-press(" + (n + 1) + ")", 1); if (_debug) { _debugPrintStream.println("*** releasing button " + (n + 1)); } _testMouseListener.setExpectedModifiers( _getNewtModifiersForAwtExtendedModifiers(keyModifierMask | awtButtonMask)); _robot.mouseRelease(awtButtonMask); _checkFailures("mouse-release(" + (n + 1) + ")", 1); } _doKeyRelease(keyCode); }
private void execOffThreadWithOnThreadEventDispatch(Runnable testAction) throws Exception { _testMouseListener.setModifierCheckEnabled(false); _robot.setAutoDelay(MS_ROBOT_AUTO_DELAY); { // Make sure all the buttons and modifier keys are released. clearKeyboadAndMouse(); } _testMouseListener.setModifierCheckEnabled(true); Throwable throwable = null; // final Object sync = new Object(); final RunnableTask rt = new RunnableTask(testAction, null, true, System.err); try { // synchronized(sync) { new Thread(rt, "Test-Thread").start(); int i = 0; while (!rt.isExecuted() && null == throwable) { System.err.println("WAIT-till-done: eventDispatch() #" + i++); eventDispatch(); } if (null == throwable) { throwable = rt.getThrowable(); } if (null != throwable) { throw new RuntimeException(throwable); } // } } finally { System.err.println("WAIT-till-done: DONE"); _testMouseListener.setModifierCheckEnabled(false); clearKeyboadAndMouse(); } }
private void _doKeyRelease(int keyCode) { if (keyCode != 0) { boolean modifierCheckEnabled = _testMouseListener.modifierCheckEnabled(); _testMouseListener.setModifierCheckEnabled(false); _robot.keyRelease(keyCode); _robot.delay(MS_ROBOT_KEY_RELEASE_DELAY); _testMouseListener.setModifierCheckEnabled(modifierCheckEnabled); } }
private void _doSingleButtonClickAndDrag(final int keyCode, final int keyModifierMask) throws Exception { if (_debug) { _debugPrintStream.println("\n>>>> _doSingleButtonClickAndDrag"); } _doKeyPress(keyCode); _testMouseListener.setModifierCheckEnabled(true); for (int n = 0; n < _numButtonsToTest; ++n) { int awtButtonMask = _awtButtonMasks[n]; if (_debug) { _debugPrintStream.println("*** pressing button " + (n + 1)); } _testMouseListener.setExpectedModifiers( _getNewtModifiersForAwtExtendedModifiers(keyModifierMask | awtButtonMask)); _robot.mousePress(awtButtonMask); _checkFailures("mouse-press(" + (n + 1) + ")", 1); // To get a drag we only need to move one pixel. if (_debug) { _debugPrintStream.println("*** moving mouse"); } final int newX = INITIAL_MOUSE_X + 8, newY = INITIAL_MOUSE_Y + 8; _robot.mouseMove(newX, newY); _robot.delay(MS_ROBOT_MOUSE_MOVE_DELAY); _checkFailures("mouse-move(" + newX + ", " + newY + ")", 1); if (_debug) { _debugPrintStream.println("*** releasing button " + (n + 1)); } _testMouseListener.setExpectedModifiers( _getNewtModifiersForAwtExtendedModifiers(keyModifierMask | awtButtonMask)); _robot.mouseRelease(awtButtonMask); _checkFailures("mouse-release(" + (n + 1) + ")", 1); _testMouseListener.setModifierCheckEnabled(false); _robot.mouseMove(INITIAL_MOUSE_X, INITIAL_MOUSE_Y); _robot.delay(MS_ROBOT_MOUSE_MOVE_DELAY); _testMouseListener.setModifierCheckEnabled(true); } _doKeyRelease(keyCode); }
public void eventDispatchedPostTestDelay() throws Exception { eventDispatch(); eventDispatch(); eventDispatch(); Thread.sleep(MS_ROBOT_POST_TEST_DELAY); eventDispatch(); eventDispatch(); eventDispatch(); _testMouseListener.clear(); }
private void _doPressAllButtonsInSequence(final int keyCode, final int keyModifierMask) throws Exception { if (_debug) { _debugPrintStream.println("\n>>>> _doPressAllButtonsInSequence"); } _doKeyPress(keyCode); { int cumulativeAwtModifiers = 0; for (int n = 0; n < _numButtonsToTest; ++n) { cumulativeAwtModifiers |= _awtButtonMasks[n]; if (_debug) { _debugPrintStream.println("*** pressing button " + (n + 1)); } _testMouseListener.setExpectedModifiers( _getNewtModifiersForAwtExtendedModifiers(keyModifierMask | cumulativeAwtModifiers)); _robot.mousePress(_awtButtonMasks[n]); _checkFailures("mouse-press(" + (n + 1) + ")", 1); } for (int n = _numButtonsToTest - 1; n >= 0; --n) { if (_debug) { _debugPrintStream.println("*** releasing button " + (n + 1)); } _testMouseListener.setExpectedModifiers( _getNewtModifiersForAwtExtendedModifiers(keyModifierMask | cumulativeAwtModifiers)); _robot.mouseRelease(_awtButtonMasks[n]); _checkFailures("mouse-release(" + (n + 1) + ")", 1); cumulativeAwtModifiers &= ~_awtButtonMasks[n]; } } _doKeyRelease(keyCode); }
private void _releaseModifiers() { if (_robot != null) { _robot.setAutoDelay(MS_ROBOT_AUTO_DELAY); boolean modifierCheckEnabled = _testMouseListener.modifierCheckEnabled(); _testMouseListener.setModifierCheckEnabled(false); { _robot.keyRelease(java.awt.event.KeyEvent.VK_SHIFT); _robot.keyRelease(java.awt.event.KeyEvent.VK_CONTROL); // _robot.keyRelease( java.awt.event.KeyEvent.VK_META ) ; // _robot.keyRelease( java.awt.event.KeyEvent.VK_ALT ) ; // _robot.keyRelease( java.awt.event.KeyEvent.VK_ALT_GRAPH ) ; for (int n = 0; n < _awtButtonMasks.length; ++n) { _robot.mouseRelease(_awtButtonMasks[n]); } } _testMouseListener.setModifierCheckEnabled(modifierCheckEnabled); } }
private void _checkFailures(String descr, int waitEventCount) { ArrayList<String> failures = _testMouseListener.getFailures(waitEventCount); _debugPrintStream.print(getSimpleTestName(".") + " - " + descr + ": "); int numFailures = failures.size(); if (numFailures == 0) { _debugPrintStream.println(" PASSED"); } else { _debugPrintStream.println(" FAILED"); for (int n = 0; n < numFailures; ++n) { _debugPrintStream.print(" "); _debugPrintStream.println(failures.get(n)); } } Assert.assertTrue(failures.size() == 0); }