From 5f3193b5171cc3bafce5c7b24163c2aa7bad7e63 Mon Sep 17 00:00:00 2001 From: Khalid Boulanouare Date: Tue, 1 Jul 2025 15:52:38 +0100 Subject: [PATCH 1/3] Fixes color comparison on for MacOS X --- .../AWT_Mixing/MixingPanelsResizing.java | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/test/jdk/java/awt/Mixing/AWT_Mixing/MixingPanelsResizing.java b/test/jdk/java/awt/Mixing/AWT_Mixing/MixingPanelsResizing.java index 39a59dc2a5c2a..2c4bf8ff6cc8e 100644 --- a/test/jdk/java/awt/Mixing/AWT_Mixing/MixingPanelsResizing.java +++ b/test/jdk/java/awt/Mixing/AWT_Mixing/MixingPanelsResizing.java @@ -114,12 +114,14 @@ public void run() { awtPanel.add(jbutton); jbutton.setForeground(jbColor); jbutton.setBackground(jbColor); + jbutton.setOpaque(true); JPanel jPanel = new JPanel(); jbutton2 = new JButton("SwingButton2"); jPanel.add(jbutton2); jbutton2.setForeground(jb2Color); jbutton2.setBackground(jb2Color); + jbutton2.setOpaque(true); awtButton2 = new Button("AWT Button2"); jPanel.add(awtButton2); awtButton2.setForeground(awt2Color); @@ -163,19 +165,19 @@ public void run() { btnLoc = awtButton.getLocationOnScreen(); c = robot.getPixelColor(btnLoc.x + 5, btnLoc.y + 5); - if (!c.equals(awtColor)) { + if (!isAlmostEqualColor(c, awtColor)) { fail("AWT Button was not redrawn properly on AWT Panel during move"); } btnLoc = jbutton2.getLocationOnScreen(); c = robot.getPixelColor(btnLoc.x + 5, btnLoc.y + 5); - if (!c.equals(jb2Color)) { + if (!isAlmostEqualColor(c, jb2Color)) { fail("JButton was not redrawn properly on JPanel during move"); } btnLoc = awtButton2.getLocationOnScreen(); c = robot.getPixelColor(btnLoc.x + 5, btnLoc.y + 5); - if (!c.equals(awt2Color)) { + if (!isAlmostEqualColor(c, awt2Color)) { fail("ATW Button was not redrawn properly on JPanel during move"); } } @@ -298,6 +300,19 @@ public static synchronized void fail(String whyFailed) { failureMessage = whyFailed; mainThread.interrupt(); }//fail() + private static boolean isAlmostEqualColor(Color color, Color refColor) { + final int COLOR_TOLERANCE_MACOSX = 10; + if(color.equals(refColor)){ + return true; + } else { + return Math.abs(color.getRed() - refColor.getRed()) < + COLOR_TOLERANCE_MACOSX && + Math.abs(color.getGreen() - refColor.getGreen()) < + COLOR_TOLERANCE_MACOSX && + Math.abs(color.getBlue() - refColor.getBlue()) < + COLOR_TOLERANCE_MACOSX; + } + } }// class JButtonInGlassPane class TestPassedException extends RuntimeException { } From f02885c6ee48a20b42cacf8ecfee1d2a5b5601a3 Mon Sep 17 00:00:00 2001 From: Khalid Boulanouare Date: Fri, 4 Jul 2025 15:12:55 +0100 Subject: [PATCH 2/3] Removes test from Problem List --- test/jdk/ProblemList.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/test/jdk/ProblemList.txt b/test/jdk/ProblemList.txt index a7491c400bc36..238343b8162e3 100644 --- a/test/jdk/ProblemList.txt +++ b/test/jdk/ProblemList.txt @@ -155,7 +155,6 @@ java/awt/Mixing/AWT_Mixing/OpaqueOverlappingChoice.java 8048171 generic-all java/awt/Mixing/AWT_Mixing/JMenuBarOverlapping.java 8159451 macosx-all java/awt/Mixing/AWT_Mixing/JSplitPaneOverlapping.java 6986109 generic-all java/awt/Mixing/AWT_Mixing/JInternalFrameMoveOverlapping.java 6986109 windows-all -java/awt/Mixing/AWT_Mixing/MixingPanelsResizing.java 8049405 macosx-all java/awt/Mixing/AWT_Mixing/JComboBoxOverlapping.java 8049405 macosx-all java/awt/Mixing/AWT_Mixing/JPopupMenuOverlapping.java 8049405 macosx-all java/awt/Mixing/NonOpaqueInternalFrame.java 7124549 macosx-all From 65b39f021f4963107be35c833fa411913beefc4e Mon Sep 17 00:00:00 2001 From: Khalid Boulanouare Date: Tue, 8 Jul 2025 15:53:17 +0100 Subject: [PATCH 3/3] Adds extra space after if Co-authored-by: Andrey Turbanov --- test/jdk/java/awt/Mixing/AWT_Mixing/MixingPanelsResizing.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/jdk/java/awt/Mixing/AWT_Mixing/MixingPanelsResizing.java b/test/jdk/java/awt/Mixing/AWT_Mixing/MixingPanelsResizing.java index 2c4bf8ff6cc8e..5f272a5c1ca2d 100644 --- a/test/jdk/java/awt/Mixing/AWT_Mixing/MixingPanelsResizing.java +++ b/test/jdk/java/awt/Mixing/AWT_Mixing/MixingPanelsResizing.java @@ -302,7 +302,7 @@ public static synchronized void fail(String whyFailed) { }//fail() private static boolean isAlmostEqualColor(Color color, Color refColor) { final int COLOR_TOLERANCE_MACOSX = 10; - if(color.equals(refColor)){ + if (color.equals(refColor)){ return true; } else { return Math.abs(color.getRed() - refColor.getRed()) <