diff --git a/java/execution/impl/src/com/intellij/execution/JavaTestFrameworkRunnableState.java b/java/execution/impl/src/com/intellij/execution/JavaTestFrameworkRunnableState.java index f98778128f5d..09c174d96b38 100644 --- a/java/execution/impl/src/com/intellij/execution/JavaTestFrameworkRunnableState.java +++ b/java/execution/impl/src/com/intellij/execution/JavaTestFrameworkRunnableState.java @@ -61,7 +61,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jps.model.serialization.PathMacroUtil; -import javax.swing.*; import java.io.File; import java.io.IOException; import java.io.PrintWriter; @@ -116,8 +115,7 @@ public abstract class JavaTestFrameworkRunnableState getLocation(@NotNull String protocolId, @NotNull String locationData, Project project) { + public List getLocation(@NotNull String protocol, @NotNull String path, @NotNull Project project, @NotNull GlobalSearchScope scope) { List results = Collections.emptyList(); - final int idx = locationData.indexOf("["); - final String paramName = idx >= 0 ? locationData.substring(idx) : null; + String paramName = null; + int idx = path.indexOf('['); if (idx >= 0) { - locationData = locationData.substring(0, idx); + paramName = path.substring(idx); + path = path.substring(0, idx); } - final JavaPsiFacade javaPsiFacade = JavaPsiFacade.getInstance(project); - if (SUITE_PROTOCOL.equals(protocolId)) { - locationData = StringUtil.trimEnd(locationData, "."); - PsiClass[] classes = javaPsiFacade.findClasses(locationData, myScope); + JavaPsiFacade javaPsiFacade = JavaPsiFacade.getInstance(project); + if (SUITE_PROTOCOL.equals(protocol)) { + path = StringUtil.trimEnd(path, "."); + PsiClass[] classes = javaPsiFacade.findClasses(path, scope); if (classes.length > 0) { results = ContainerUtil.newSmartList(); for (PsiClass aClass : classes) { - results.add(paramName != null ? PsiMemberParameterizedLocation.getParameterizedLocation(aClass, paramName) + results.add(paramName != null ? PsiMemberParameterizedLocation.getParameterizedLocation(aClass, paramName) : new PsiLocation(project, aClass)); } } } - else if (TEST_PROTOCOL.equals(protocolId)) { - final String className = StringUtil.getPackageName(locationData); + else if (TEST_PROTOCOL.equals(protocol)) { + String className = StringUtil.getPackageName(path); if (!StringUtil.isEmpty(className)) { - String methodName = StringUtil.getShortName(locationData); - PsiClass[] classes = javaPsiFacade.findClasses(className, myScope); + String methodName = StringUtil.getShortName(path); + PsiClass[] classes = javaPsiFacade.findClasses(className, scope); if (classes.length > 0) { results = ContainerUtil.newSmartList(); for (PsiClass aClass : classes) { PsiMethod[] methods = aClass.findMethodsByName(methodName, true); if (methods.length > 0) { for (PsiMethod method : methods) { - results.add(paramName != null ? new PsiMemberParameterizedLocation(project, method, aClass, paramName) - : MethodLocation.elementInClass(method, aClass)); + results.add(paramName != null ? new PsiMemberParameterizedLocation(project, method, aClass, paramName) + : MethodLocation.elementInClass(method, aClass)); } } } diff --git a/plugins/junit/src/com/intellij/execution/junit2/ui/properties/JUnitConsoleProperties.java b/plugins/junit/src/com/intellij/execution/junit2/ui/properties/JUnitConsoleProperties.java index 3b3ea763ba7b..c202fd0787b2 100644 --- a/plugins/junit/src/com/intellij/execution/junit2/ui/properties/JUnitConsoleProperties.java +++ b/plugins/junit/src/com/intellij/execution/junit2/ui/properties/JUnitConsoleProperties.java @@ -19,7 +19,9 @@ import com.intellij.execution.Executor; import com.intellij.execution.junit.JUnitConfiguration; import com.intellij.execution.runners.ExecutionEnvironment; import com.intellij.execution.testframework.JavaAwareTestConsoleProperties; +import com.intellij.execution.testframework.JavaTestLocator; import com.intellij.execution.testframework.SourceScope; +import com.intellij.execution.testframework.sm.runner.SMTestLocator; import com.intellij.openapi.actionSystem.DefaultActionGroup; import com.intellij.psi.search.GlobalSearchScope; import org.jetbrains.annotations.NotNull; @@ -48,4 +50,9 @@ public class JUnitConsoleProperties extends JavaAwareTestConsoleProperties { private final TestNGConfiguration myConfiguration; - public TestNGConsoleProperties(TestNGConfiguration config, Executor executor) - { - super("TestNG", config, executor); - myConfiguration = config; - } - + public TestNGConsoleProperties(TestNGConfiguration config, Executor executor) { + super("TestNG", config, executor); + myConfiguration = config; + } @NotNull @Override @@ -42,9 +43,14 @@ public class TestNGConsoleProperties extends JavaAwareTestConsoleProperties