< prev index next >

test/java/awt/TrayIcon/TrayIconEvents/TrayIconEventsTest.java

Print this page

        

*** 35,44 **** --- 35,45 ---- * @run main TrayIconEventsTest */ public class TrayIconEventsTest { + private static boolean isOEL7; TrayIcon icon; ExtendedRobot robot; boolean actionPerformed = false; Object actionLock = new Object();
*** 75,84 **** --- 76,88 ---- "in Windows 7, which is behavior by default.\n" + "Set \"Right mouse click\" -> \"Customize notification icons\" -> " + "\"Always show all icons and notifications on the taskbar\" true " + "to avoid this problem. Or change behavior only for Java SE " + "tray icon."); + isOEL7 = System.getProperty("os.name").toLowerCase() + .contains("linux") && System.getProperty("os.version") + .toLowerCase().contains("el7"); new TrayIconEventsTest().doTest(); } } public TrayIconEventsTest() throws Exception {
*** 193,227 **** void doTest() throws Exception { Point iconPosition = SystemTrayIconHelper.getTrayIconLocation(icon); if (iconPosition == null) throw new RuntimeException("Unable to find the icon location!"); ! ! robot.mouseMove(iconPosition.x, iconPosition.y); robot.waitForIdle(2000); SystemTrayIconHelper.doubleClick(robot); ! if (! actionPerformed) { synchronized (actionLock) { try { actionLock.wait(10000); } catch (Exception e) { } } } ! if (! actionPerformed) throw new RuntimeException("FAIL: ActionEvent not triggered when TrayIcon is double clicked"); for (int i = 0; i < buttonTypes.length; i++) { mousePressed = false; robot.mousePress(buttonTypes[i]); if (! mousePressed) { synchronized (pressLock) { try { ! pressLock.wait(3000); } catch (Exception e) { } } } if (! mousePressed) --- 197,244 ---- void doTest() throws Exception { Point iconPosition = SystemTrayIconHelper.getTrayIconLocation(icon); if (iconPosition == null) throw new RuntimeException("Unable to find the icon location!"); ! if (isOEL7) { ! // close tray ! robot.mouseMove(100,100); ! robot.click(InputEvent.BUTTON1_MASK); robot.waitForIdle(2000); + } + robot.mouseMove(iconPosition.x, iconPosition.y); + robot.waitForIdle(); + if(!isOEL7) { SystemTrayIconHelper.doubleClick(robot); ! if (!actionPerformed) { synchronized (actionLock) { try { actionLock.wait(10000); } catch (Exception e) { } } } ! if (!actionPerformed) throw new RuntimeException("FAIL: ActionEvent not triggered when TrayIcon is double clicked"); + } for (int i = 0; i < buttonTypes.length; i++) { mousePressed = false; + if(isOEL7) { + SystemTrayIconHelper.openTrayIfNeeded(robot); + robot.mouseMove(iconPosition.x, iconPosition.y); + robot.click(buttonTypes[i]); + } else { robot.mousePress(buttonTypes[i]); + } if (! mousePressed) { synchronized (pressLock) { try { ! pressLock.wait(6000); } catch (Exception e) { } } } if (! mousePressed)
*** 229,244 **** throw new RuntimeException("FAIL: mousePressed not triggered when " + buttonNames[i] + " pressed"); mouseReleased = false; mouseClicked = false; robot.mouseRelease(buttonTypes[i]); if (! mouseReleased) { synchronized (releaseLock) { try { ! releaseLock.wait(3000); } catch (Exception e) { } } } if (! mouseReleased) --- 246,267 ---- throw new RuntimeException("FAIL: mousePressed not triggered when " + buttonNames[i] + " pressed"); mouseReleased = false; mouseClicked = false; + if(isOEL7) { + SystemTrayIconHelper.openTrayIfNeeded(robot); + robot.mouseMove(iconPosition.x, iconPosition.y); + robot.click(buttonTypes[i]); + } else { robot.mouseRelease(buttonTypes[i]); + } if (! mouseReleased) { synchronized (releaseLock) { try { ! releaseLock.wait(6000); } catch (Exception e) { } } } if (! mouseReleased)
*** 246,269 **** buttonNames[i] + " released"); if (! mouseClicked) { synchronized (clickLock) { try { ! clickLock.wait(3000); } catch (Exception e) { } } } if (! mouseClicked) throw new RuntimeException("FAIL: mouseClicked not triggered when " + buttonNames[i] + " pressed & released"); } mouseMoved = false; robot.mouseMove(iconPosition.x + 100, iconPosition.y); robot.glide(iconPosition.x, iconPosition.y); ! if (! mouseMoved) ! if (! SystemTrayIconHelper.skip(0) ) throw new RuntimeException("FAIL: mouseMoved not triggered even when mouse moved over the icon"); } } --- 269,294 ---- buttonNames[i] + " released"); if (! mouseClicked) { synchronized (clickLock) { try { ! clickLock.wait(6000); } catch (Exception e) { } } } if (! mouseClicked) throw new RuntimeException("FAIL: mouseClicked not triggered when " + buttonNames[i] + " pressed & released"); } + if (!isOEL7) { mouseMoved = false; robot.mouseMove(iconPosition.x + 100, iconPosition.y); robot.glide(iconPosition.x, iconPosition.y); ! if (!mouseMoved) ! if (!SystemTrayIconHelper.skip(0)) throw new RuntimeException("FAIL: mouseMoved not triggered even when mouse moved over the icon"); } + } }
< prev index next >