mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
fix Maven test
This commit is contained in:
@@ -28,6 +28,7 @@ import com.intellij.openapi.editor.ScrollType;
|
||||
import com.intellij.openapi.extensions.ExtensionPointName;
|
||||
import com.intellij.openapi.extensions.Extensions;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.ui.DialogWrapper;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil;
|
||||
@@ -135,6 +136,7 @@ public class PsiElementRenameHandler implements RenameHandler {
|
||||
if (element == null) return;
|
||||
|
||||
final RenameDialog dialog = processor.createRenameDialog(project, element, nameSuggestionContext, editor);
|
||||
|
||||
if (defaultName == null && ApplicationManager.getApplication().isUnitTestMode()) {
|
||||
String[] strings = dialog.getSuggestedNames();
|
||||
if (strings != null && strings.length > 0) {
|
||||
@@ -144,8 +146,14 @@ public class PsiElementRenameHandler implements RenameHandler {
|
||||
defaultName = "undefined"; // need to avoid show dialog in test
|
||||
}
|
||||
}
|
||||
|
||||
if (defaultName != null) {
|
||||
dialog.performRename(defaultName);
|
||||
try {
|
||||
dialog.performRename(defaultName);
|
||||
} catch (CommonRefactoringUtil.RefactoringErrorHintException testErrorHintException){
|
||||
dialog.close(DialogWrapper.CANCEL_EXIT_CODE); // to avoid dialog leak
|
||||
throw testErrorHintException;
|
||||
}
|
||||
}
|
||||
else {
|
||||
dialog.show();
|
||||
|
||||
@@ -59,6 +59,8 @@ import java.util.*;
|
||||
|
||||
public class RenameProcessor extends BaseRefactoringProcessor {
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.refactoring.rename.RenameProcessor");
|
||||
@NonNls public static final String FORCE_RENAME_PROCESSOR_TO_THROW_EXCEPTION_ON_BAD_RENAMEABILITY =
|
||||
"force.rename.processor.to.throw.exception.on.bad.renameability";
|
||||
|
||||
protected final LinkedHashMap<PsiElement, String> myAllRenames = new LinkedHashMap<PsiElement, String>();
|
||||
|
||||
@@ -415,7 +417,9 @@ public class RenameProcessor extends BaseRefactoringProcessor {
|
||||
prepareRenaming(myPrimaryElement, myNewName, myAllRenames);
|
||||
}
|
||||
|
||||
protected boolean inTestsProduceExceptionOnBadRenameabilityStatus() { return false; }
|
||||
protected boolean inTestsProduceExceptionOnBadRenameabilityStatus() {
|
||||
return System.getProperty(FORCE_RENAME_PROCESSOR_TO_THROW_EXCEPTION_ON_BAD_RENAMEABILITY) != null;
|
||||
}
|
||||
|
||||
public Collection<String> getNewNames() {
|
||||
return myAllRenames.values();
|
||||
|
||||
@@ -43,6 +43,8 @@ import com.intellij.psi.xml.XmlTag;
|
||||
import com.intellij.refactoring.rename.PsiElementRenameHandler;
|
||||
import com.intellij.refactoring.rename.RenameHandler;
|
||||
import com.intellij.refactoring.rename.RenameHandlerRegistry;
|
||||
import com.intellij.refactoring.rename.RenameProcessor;
|
||||
import com.intellij.refactoring.util.CommonRefactoringUtil;
|
||||
import com.intellij.testFramework.MapDataContext;
|
||||
import com.intellij.testFramework.fixtures.CodeInsightTestFixture;
|
||||
import com.intellij.testFramework.fixtures.CodeInsightTestUtil;
|
||||
@@ -284,12 +286,15 @@ public abstract class MavenDomTestCase extends MavenImportingTestCase {
|
||||
RenameHandler handler = RenameHandlerRegistry.getInstance().getRenameHandler(context);
|
||||
if (handler == null) return;
|
||||
try {
|
||||
System.getProperties().put(RenameProcessor.FORCE_RENAME_PROCESSOR_TO_THROW_EXCEPTION_ON_BAD_RENAMEABILITY, "");
|
||||
invokeRename(context, handler);
|
||||
}
|
||||
catch (Exception e) {
|
||||
catch (CommonRefactoringUtil.RefactoringErrorHintException e) {
|
||||
if (!e.getMessage().startsWith("Cannot perform refactoring.")) {
|
||||
throw e;
|
||||
}
|
||||
} finally {
|
||||
System.getProperties().remove(RenameProcessor.FORCE_RENAME_PROCESSOR_TO_THROW_EXCEPTION_ON_BAD_RENAMEABILITY);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user