From 46e0d0ea98237692e1538590493cae3689dac272 Mon Sep 17 00:00:00 2001 From: "Anna.Kozlova" Date: Mon, 10 Oct 2016 18:32:52 +0200 Subject: [PATCH] run tests: check fast multiple selection (IDEA-150532) --- .../AbstractPatternBasedConfigurationProducer.java | 1 + .../execution/actions/ConfigurationContext.java | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/java/execution/impl/src/com/intellij/execution/testframework/AbstractPatternBasedConfigurationProducer.java b/java/execution/impl/src/com/intellij/execution/testframework/AbstractPatternBasedConfigurationProducer.java index 514a82daa105..0b8f53161312 100644 --- a/java/execution/impl/src/com/intellij/execution/testframework/AbstractPatternBasedConfigurationProducer.java +++ b/java/execution/impl/src/com/intellij/execution/testframework/AbstractPatternBasedConfigurationProducer.java @@ -56,6 +56,7 @@ public abstract class AbstractPatternBasedConfigurationProducer classes = new LinkedHashSet<>(); diff --git a/platform/lang-api/src/com/intellij/execution/actions/ConfigurationContext.java b/platform/lang-api/src/com/intellij/execution/actions/ConfigurationContext.java index 4eb5ee6960c1..a4c4b0cf8db7 100644 --- a/platform/lang-api/src/com/intellij/execution/actions/ConfigurationContext.java +++ b/platform/lang-api/src/com/intellij/execution/actions/ConfigurationContext.java @@ -59,6 +59,7 @@ public class ConfigurationContext { private final Location myLocation; private RunnerAndConfigurationSettings myConfiguration; private boolean myInitialized = false; + private boolean myMultipleSelection = false; private Ref myExistingConfiguration; private final Module myModule; private final RunConfiguration myRuntimeConfiguration; @@ -104,6 +105,14 @@ public class ConfigurationContext { return; } myLocation = new PsiLocation<>(project, myModule, element); + final PsiElement[] elements = LangDataKeys.PSI_ELEMENT_ARRAY.getData(dataContext); + if (elements != null) { + myMultipleSelection = elements.length > 1; + } + else { + final VirtualFile[] files = CommonDataKeys.VIRTUAL_FILE_ARRAY.getData(dataContext); + myMultipleSelection = files != null && files.length > 1; + } } public ConfigurationContext(PsiElement element) { @@ -113,6 +122,10 @@ public class ConfigurationContext { myContextComponent = null; } + public boolean containsMultipleSelection() { + return myMultipleSelection; + } + /** * Returns the configuration created from this context. *