Skip to content
Permalink
Browse files
8196096: javax/swing/JPopupMenu/6580930/bug6580930.java fails
Reviewed-by: mdoerr
Backport-of: b5b24b9
  • Loading branch information
RealCLanger committed Sep 30, 2021
1 parent 05cb444 commit b9f01439e9277be2b990ed3bfc513a05651c3c29
Showing 2 changed files with 15 additions and 6 deletions.
@@ -735,7 +735,7 @@ javax/swing/JFileChooser/8002077/bug8002077.java 8196094 windows-all,macosx-all
javax/swing/JFileChooser/6396844/TwentyThousandTest.java 8058231 generic-all
javax/swing/JFrame/8175301/ScaledFrameBackgroundTest.java 8193942 generic-all
javax/swing/JList/6462008/bug6462008.java 7156347 generic-all
javax/swing/JPopupMenu/6580930/bug6580930.java 8196096 windows-all,macosx-all
javax/swing/JPopupMenu/6580930/bug6580930.java 7124313 macosx-all
javax/swing/JPopupMenu/6800513/bug6800513.java 7184956 macosx-all
javax/swing/JPopupMenu/6675802/bug6675802.java 8196097 windows-all
javax/swing/JTabbedPane/8007563/Test8007563.java 8051591 generic-all
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2007, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -42,6 +42,8 @@ public class bug6580930 {
private static JPopupMenu popup;
private static Toolkit toolkit;
private static volatile boolean skipTest = false;
private static Point loc;
private static int y;

private static void createGui() {
frame = new JFrame();
@@ -94,25 +96,32 @@ public void run() {
if (skipTest) {
return;
}
Point loc = frame.getLocationOnScreen();

SwingUtilities.invokeAndWait(() -> loc = frame.getLocationOnScreen());
robot.waitForIdle();

robot.mouseMove(loc.x, loc.y);
showPopup();
robot.waitForIdle();
if (isHeavyWeightMenuVisible()) {
if (!System.getProperty("os.name").startsWith("Mac")
&& isHeavyWeightMenuVisible()) {
throw new RuntimeException("HeavyWeightPopup is unexpectedly visible");
}

robot.keyPress(KeyEvent.VK_ESCAPE);
robot.keyRelease(KeyEvent.VK_ESCAPE);

int x = loc.x;
int y = loc.y + (frame.getHeight() - popup.getPreferredSize().height) + 1;
SwingUtilities.invokeAndWait( () -> y = loc.y + (frame.getHeight() -
popup.getPreferredSize().height) + 1);
robot.waitForIdle();
robot.mouseMove(x, y);

showPopup();
SwingUtilities.invokeAndWait(() -> loc = popup.getLocationOnScreen());
robot.waitForIdle();

if (!popup.getLocationOnScreen().equals(new Point(x, y))) {
if (!loc.equals(new Point(x, y))) {
throw new RuntimeException("Popup is unexpectedly shifted");
}

1 comment on commit b9f0143

@openjdk-notifier
Copy link

@openjdk-notifier openjdk-notifier bot commented on b9f0143 Sep 30, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.