IDEA-142050 Search and Replace All not working

This commit is contained in:
Maxim.Mossienko
2015-07-02 17:18:33 +02:00
parent 80039be045
commit 159af69b9a
2 changed files with 23 additions and 2 deletions
@@ -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()) {