summaryrefslogtreecommitdiff
path: root/java/java-impl/src/com/intellij/testIntegration/TestIntegrationUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/java-impl/src/com/intellij/testIntegration/TestIntegrationUtils.java')
-rw-r--r--java/java-impl/src/com/intellij/testIntegration/TestIntegrationUtils.java23
1 files changed, 16 insertions, 7 deletions
diff --git a/java/java-impl/src/com/intellij/testIntegration/TestIntegrationUtils.java b/java/java-impl/src/com/intellij/testIntegration/TestIntegrationUtils.java
index ea22f86b5268..fd8d812058e0 100644
--- a/java/java-impl/src/com/intellij/testIntegration/TestIntegrationUtils.java
+++ b/java/java-impl/src/com/intellij/testIntegration/TestIntegrationUtils.java
@@ -41,10 +41,7 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Properties;
+import java.util.*;
public class TestIntegrationUtils {
private static final Logger LOG = Logger.getInstance("#" + TestIntegrationUtils.class.getName());
@@ -139,8 +136,8 @@ public class TestIntegrationUtils {
final PsiClass targetClass,
final PsiMethod method,
@Nullable String name,
- boolean automatic) {
- Template template = createTestMethodTemplate(methodKind, framework, targetClass, name, automatic);
+ boolean automatic, Set<String> existingNames) {
+ Template template = createTestMethodTemplate(methodKind, framework, targetClass, name, automatic, existingNames);
final TextRange range = method.getTextRange();
editor.getDocument().replaceString(range.getStartOffset(), range.getEndOffset(), "");
@@ -182,7 +179,8 @@ public class TestIntegrationUtils {
TestFramework descriptor,
PsiClass targetClass,
@Nullable String name,
- boolean automatic) {
+ boolean automatic,
+ Set<String> existingNames) {
FileTemplateDescriptor templateDesc = methodKind.getFileTemplateDescriptor(descriptor);
String templateName = templateDesc.getFileName();
FileTemplate fileTemplate = FileTemplateManager.getInstance().getCodeTemplate(templateName);
@@ -199,6 +197,17 @@ public class TestIntegrationUtils {
if (name == null) name = methodKind.getDefaultName();
+ if (existingNames != null && !existingNames.add(name)) {
+ int idx = 1;
+ while (existingNames.contains(name)) {
+ final String newName = name + (idx++);
+ if (existingNames.add(newName)) {
+ name = newName;
+ break;
+ }
+ }
+ }
+
templateText = StringUtil.replace(templateText, "${BODY}", "");
int from = 0;