diff --git a/tests/org.eclipse.ui.workbench.texteditor.tests/src/org/eclipse/ui/internal/findandreplace/FindReplaceLogicTest.java b/tests/org.eclipse.ui.workbench.texteditor.tests/src/org/eclipse/ui/internal/findandreplace/FindReplaceLogicTest.java index 94b1e805d25..463b81d9f6c 100644 --- a/tests/org.eclipse.ui.workbench.texteditor.tests/src/org/eclipse/ui/internal/findandreplace/FindReplaceLogicTest.java +++ b/tests/org.eclipse.ui.workbench.texteditor.tests/src/org/eclipse/ui/internal/findandreplace/FindReplaceLogicTest.java @@ -719,6 +719,19 @@ public void testWholeWordSearchAvailable() { assertFalse(isConsideredWholeWord.test("")); } + @Test + public void testWholeWordRemainsAvailableWhenUnavailableRegexIsActivated() { + IFindReplaceLogic findReplaceLogic= setupFindReplaceLogicObject(null); + findReplaceLogic.setFindString("word"); + assertFalse(findReplaceLogic.isAvailable(SearchOptions.REGEX)); // null target has no regex support + assertTrue(findReplaceLogic.isAvailable(SearchOptions.WHOLE_WORD)); + + findReplaceLogic.activate(SearchOptions.REGEX); + + // Activating an unavailable option has no effective impact, so whole-word must remain available + assertTrue(findReplaceLogic.isAvailable(SearchOptions.WHOLE_WORD)); + } + @Test public void testReplaceInScopeStaysInScope() { TextViewer textViewer= setupTextViewer(LINE_STRING + lineSeparator() + LINE_STRING + lineSeparator() + LINE_STRING);