From aa08425270d68aab9ad84625b08ef32a213b62ad Mon Sep 17 00:00:00 2001 From: Tobias Melcher Date: Tue, 22 Sep 2026 14:51:41 +0200 Subject: [PATCH] Fix UnifiedDiffManagerTest#testMouseMoveOpensTheToolbarForTheHoveredDiff flakiness Replace the toolbar.getVisible() assertion with assertNotSame() to verify that the mouse move created a new toolbar composite. The visibility check was sensitive to whether the text widget had been painted (layout-dependent), causing intermittent failures on Java 26. Fixes https://github.com/eclipse-platform/eclipse.platform/issues/2962 --- .../org/eclipse/team/tests/ui/UnifiedDiffManagerTest.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/team/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/UnifiedDiffManagerTest.java b/team/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/UnifiedDiffManagerTest.java index c2df06a69d3..97dd0ba109a 100644 --- a/team/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/UnifiedDiffManagerTest.java +++ b/team/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/UnifiedDiffManagerTest.java @@ -20,6 +20,7 @@ import static org.eclipse.core.tests.resources.ResourceTestUtil.createInputStream; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotSame; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -409,12 +410,14 @@ public void testMouseMoveOpensTheToolbarForTheHoveredDiff() throws BadLocationEx int expectedLine = document().getLineOfOffset(pos.offset); StyledText tw = viewer().getTextWidget(); + Composite toolbarBefore = (Composite) tw.getData(TOOLBAR_COMPOSITE_FOR_ONE_DIFF_KEY); + fireMouseMove(tw, tw.getLinePixel(widgetLineOfModelOffset(viewer(), pos.offset)) + 2); processEvents(); Composite toolbar = (Composite) tw.getData(TOOLBAR_COMPOSITE_FOR_ONE_DIFF_KEY); assertNotNull(toolbar, "hovering over a diff must show its toolbar"); - assertTrue(toolbar.getVisible(), "the toolbar must be made visible"); + assertNotSame(toolbarBefore, toolbar, "hovering over a diff must create a new toolbar composite"); Annotation selected = (Annotation) toolbar.getData(CURRENT_SELECTED_UNIFIED_DIFF_ANNO_KEY); assertNotNull(selected, "the toolbar must remember which diff it was opened for"); Position selectedPos = model.getPosition(selected);