mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
testng/junit: do not start pattern evaluation if one element is selected
This commit is contained in:
@@ -21,6 +21,7 @@ import com.intellij.execution.Location;
|
||||
import com.intellij.execution.actions.ConfigurationContext;
|
||||
import com.intellij.execution.configurations.ModuleBasedConfiguration;
|
||||
import com.intellij.execution.junit2.info.MethodLocation;
|
||||
import com.intellij.execution.testframework.AbstractTestProxy;
|
||||
import com.intellij.openapi.actionSystem.CommonDataKeys;
|
||||
import com.intellij.openapi.actionSystem.DataContext;
|
||||
import com.intellij.openapi.actionSystem.LangDataKeys;
|
||||
@@ -97,6 +98,7 @@ public class PatternConfigurationProducer extends JUnitConfigurationProducer {
|
||||
}
|
||||
|
||||
public static boolean isMultipleElementsSelected(ConfigurationContext context) {
|
||||
if (AbstractTestProxy.DATA_KEY.getData(context.getDataContext()) != null) return false;
|
||||
final LinkedHashSet<String> classes = new LinkedHashSet<String>();
|
||||
final PsiElement[] elements = collectPatternElements(context, classes);
|
||||
if (elements != null && collectTestMembers(elements, false).size() > 1) {
|
||||
|
||||
+1
-3
@@ -26,7 +26,6 @@ import com.intellij.execution.actions.ConfigurationContext;
|
||||
import com.intellij.execution.actions.ConfigurationFromContext;
|
||||
import com.intellij.execution.junit.InheritorChooser;
|
||||
import com.intellij.execution.junit2.info.MethodLocation;
|
||||
import com.intellij.openapi.actionSystem.LangDataKeys;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
@@ -96,8 +95,7 @@ public class TestNGInClassConfigurationProducer extends TestNGConfigurationProdu
|
||||
protected boolean setupConfigurationFromContext(TestNGConfiguration configuration,
|
||||
ConfigurationContext context,
|
||||
Ref<PsiElement> sourceElement) {
|
||||
final PsiElement[] elements = context != null ? LangDataKeys.PSI_ELEMENT_ARRAY.getData(context.getDataContext()) : null;
|
||||
if (elements != null && TestNGPatternConfigurationProducer.collectTestMembers(elements).size() > 1) {
|
||||
if (TestNGPatternConfigurationProducer.isMultipleElementsSelected(context)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
+11
-4
@@ -21,18 +21,16 @@
|
||||
package com.theoryinpractice.testng.configuration;
|
||||
|
||||
import com.intellij.execution.JavaExecutionUtil;
|
||||
import com.intellij.execution.JavaRunConfigurationExtensionManager;
|
||||
import com.intellij.execution.Location;
|
||||
import com.intellij.execution.RunnerAndConfigurationSettings;
|
||||
import com.intellij.execution.actions.ConfigurationContext;
|
||||
import com.intellij.execution.configurations.ModuleBasedConfiguration;
|
||||
import com.intellij.execution.junit.JUnitUtil;
|
||||
import com.intellij.execution.junit2.info.MethodLocation;
|
||||
import com.intellij.execution.testframework.AbstractTestProxy;
|
||||
import com.intellij.openapi.actionSystem.CommonDataKeys;
|
||||
import com.intellij.openapi.actionSystem.DataContext;
|
||||
import com.intellij.openapi.actionSystem.LangDataKeys;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
import com.intellij.openapi.util.Ref;
|
||||
@@ -40,7 +38,6 @@ import com.intellij.psi.*;
|
||||
import com.theoryinpractice.testng.model.TestData;
|
||||
import com.theoryinpractice.testng.model.TestType;
|
||||
import com.theoryinpractice.testng.util.TestNGUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashSet;
|
||||
@@ -88,6 +85,16 @@ public class TestNGPatternConfigurationProducer extends TestNGConfigurationProdu
|
||||
return foundMembers;
|
||||
}
|
||||
|
||||
public static boolean isMultipleElementsSelected(ConfigurationContext context) {
|
||||
if (AbstractTestProxy.DATA_KEY.getData(context.getDataContext()) != null) return false;
|
||||
final LinkedHashSet<String> classes = new LinkedHashSet<String>();
|
||||
final PsiElement[] elements = collectPatternElements(context, classes);
|
||||
if (elements != null && collectTestMembers(elements).size() > 1) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private static PsiElement[] collectPatternElements(ConfigurationContext context, LinkedHashSet<String> classes) {
|
||||
final DataContext dataContext = context.getDataContext();
|
||||
final Location<?>[] locations = Location.DATA_KEYS.getData(dataContext);
|
||||
|
||||
Reference in New Issue
Block a user