diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_BidiSegmentListener.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_BidiSegmentListener.java index cb7d031a3c..3c6d633693 100644 --- a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_BidiSegmentListener.java +++ b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_BidiSegmentListener.java @@ -17,6 +17,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; import org.eclipse.swt.SWT; @@ -49,7 +50,6 @@ public void tearDown() { shell.dispose(); } private void testListener(final int[] segments, boolean exceptionExpected) { - boolean exceptionThrown = false; BidiSegmentListener listener = event -> { assertEquals(0, event.lineOffset, " incorrect BidiSegmentEvent"); assertEquals(line, event.lineText, " incorrect BidiSegmentEvent"); @@ -59,27 +59,23 @@ private void testListener(final int[] segments, boolean exceptionExpected) { }; listenerCalled = false; + text.addBidiSegmentListener(listener); try { - text.addBidiSegmentListener(listener); - text.getLocationAtOffset(0); - } catch (IllegalArgumentException e) { - exceptionThrown = true; + if (exceptionExpected) { + assertThrows(IllegalArgumentException.class, () -> text.getLocationAtOffset(0), " expected exception not thrown"); + } else { + text.getLocationAtOffset(0); + } + if (SwtTestUtil.isBidi()) { + assertTrue(listenerCalled, " listener not called"); + } else { + assertFalse(listenerCalled, " listener called when it shouldn't be"); + } } finally { text.removeBidiSegmentListener(listener); } - if (exceptionExpected) { - assertTrue(exceptionThrown, " expected exception not thrown"); - } else { - assertFalse(exceptionThrown, " unexpected exception thrown"); - } - if (SwtTestUtil.isBidi()) { - assertTrue(listenerCalled, " listener not called"); - } else { - assertFalse(listenerCalled, " listener called when it shouldn't be"); - } } private void testStyleRangeSegmenting(final int[] segments, int[] boldRanges) { - boolean exceptionThrown = false; BidiSegmentListener listener = event -> { assertEquals(0, event.lineOffset, " incorrect BidiSegmentEvent"); assertEquals(line, event.lineText, " incorrect BidiSegmentEvent"); @@ -89,20 +85,17 @@ private void testStyleRangeSegmenting(final int[] segments, int[] boldRanges) { }; listenerCalled = false; + text.addBidiSegmentListener(listener); try { - text.addBidiSegmentListener(listener); text.setStyleRange(null); for (int i = 0; i < boldRanges.length; i += 2) { StyleRange styleRange = new StyleRange(boldRanges[i], boldRanges[i + 1], null, null, SWT.BOLD); text.setStyleRange(styleRange); } text.getLocationAtOffset(0); - } catch (IllegalArgumentException e) { - exceptionThrown = true; } finally { text.removeBidiSegmentListener(listener); } - assertFalse(exceptionThrown, " unexpected exception thrown"); if (SwtTestUtil.isBidi()) { assertTrue(listenerCalled, " listener not called"); } else {