diff options
Diffstat (limited to 'java/java-impl/src/com/intellij/testIntegration/createTest/MissedTestsDialog.java')
-rw-r--r-- | java/java-impl/src/com/intellij/testIntegration/createTest/MissedTestsDialog.java | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/java/java-impl/src/com/intellij/testIntegration/createTest/MissedTestsDialog.java b/java/java-impl/src/com/intellij/testIntegration/createTest/MissedTestsDialog.java index b34d28e3f6f4..ee8bcf0d1c1c 100644 --- a/java/java-impl/src/com/intellij/testIntegration/createTest/MissedTestsDialog.java +++ b/java/java-impl/src/com/intellij/testIntegration/createTest/MissedTestsDialog.java @@ -20,19 +20,15 @@ import com.intellij.codeInsight.template.Template; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.util.text.StringUtil; -import com.intellij.psi.JavaPsiFacade; -import com.intellij.psi.PsiClass; -import com.intellij.psi.PsiMember; -import com.intellij.psi.PsiMethod; -import com.intellij.refactoring.ui.MemberSelectionPanel; +import com.intellij.psi.*; import com.intellij.refactoring.ui.MemberSelectionTable; import com.intellij.refactoring.util.classMembers.MemberInfo; import com.intellij.testIntegration.TestFramework; import com.intellij.testIntegration.TestIntegrationUtils; import com.intellij.ui.ScrollPaneFactory; -import com.intellij.ui.SeparatorFactory; import com.intellij.ui.components.JBCheckBox; import com.intellij.util.Function; +import com.intellij.util.IncorrectOperationException; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.Nullable; @@ -40,8 +36,10 @@ import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.util.*; +import java.util.Collection; +import java.util.HashSet; import java.util.List; +import java.util.Set; public class MissedTestsDialog extends DialogWrapper { private final PsiClass mySourceClass; @@ -85,9 +83,7 @@ public class MissedTestsDialog extends DialogWrapper { private void disableMethodsWithTests(List<MemberInfo> info) { final Set<String> existingNames = new HashSet<String>(); - final Template template = TestIntegrationUtils - .createTestMethodTemplate(TestIntegrationUtils.MethodKind.TEST, myDescriptor, myTestClass, null, true, existingNames); - final String prefix = JavaPsiFacade.getElementFactory(myTestClass.getProject()).createMethodFromText(template.getTemplateText(), myTestClass).getName(); + final String prefix = getTestPrefix(existingNames); existingNames.addAll(ContainerUtil.map(myTestClass.getMethods(), new Function<PsiMethod, String>() { @Override @@ -103,6 +99,16 @@ public class MissedTestsDialog extends DialogWrapper { } } + private String getTestPrefix(Set<String> existingNames) { + final Template template = TestIntegrationUtils.createTestMethodTemplate(TestIntegrationUtils.MethodKind.TEST, myDescriptor, myTestClass, null, true, existingNames); + try { + return JavaPsiFacade.getElementFactory(myTestClass.getProject()).createMethodFromText(template.getTemplateText(), myTestClass).getName(); + } + catch (IncorrectOperationException e) { + return ""; + } + } + private void updateMethodsTable() { List<MemberInfo> infos = TestIntegrationUtils.extractClassMethods(mySourceClass, myIncludeInheritedCb.isSelected()); |