mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-142050 Search and Replace All not working
This commit is contained in:
@@ -461,6 +461,28 @@ public class FindManagerTest extends DaemonAnalyzerTestCase {
|
||||
assertEquals(text+"\n", getEditor().getDocument().getText());
|
||||
}
|
||||
|
||||
public void testReplaceWithRegExp() {
|
||||
FindModel findModel = new FindModel();
|
||||
findModel.setStringToFind("(?<!^) ");
|
||||
findModel.setStringToReplace(" ");
|
||||
findModel.setWholeWordsOnly(false);
|
||||
findModel.setRegularExpressions(true);
|
||||
findModel.setFromCursor(false);
|
||||
findModel.setGlobal(true);
|
||||
findModel.setMultipleFiles(false);
|
||||
findModel.setProjectScope(false);
|
||||
findModel.setPromptOnReplace(false);
|
||||
|
||||
myFindManager.setFindNextModel(null);
|
||||
myFindManager.getFindInFileModel().copyFrom(findModel);
|
||||
|
||||
String text = "# Base";
|
||||
configureByText(PlainTextFileType.INSTANCE, text);
|
||||
assertTrue(FindUtil.replace(getProject(), getEditor(), 0, findModel));
|
||||
|
||||
assertEquals("# Base", getEditor().getDocument().getText());
|
||||
}
|
||||
|
||||
private void initProject(String folderName, final String... sourceDirs) {
|
||||
final String testDir = JavaTestUtil.getJavaTestDataPath() + "/find/" + folderName;
|
||||
ApplicationManager.getApplication().runWriteAction(() -> {
|
||||
|
||||
@@ -531,8 +531,7 @@ public class FindUtil {
|
||||
String foundString = document.getCharsSequence().subSequence(startOffset, endOffset).toString();
|
||||
String toReplace;
|
||||
try {
|
||||
CharSequence textToMatch = document.getCharsSequence().subSequence(offset, document.getTextLength());
|
||||
toReplace = findManager.getStringToReplace(foundString, model, startOffset - offset, textToMatch);
|
||||
toReplace = findManager.getStringToReplace(foundString, model, startOffset, document.getCharsSequence());
|
||||
}
|
||||
catch (FindManager.MalformedReplacementStringException e) {
|
||||
if (!ApplicationManager.getApplication().isUnitTestMode()) {
|
||||
|
||||
Reference in New Issue
Block a user