From 3b4a6afe011b0fdf061562fe62d01f571f5c2113 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Thu, 21 Jan 2016 14:37:35 +0100 Subject: [PATCH] Kotlin-produced test run configurations replace Java-produced ones (to avoid duplicate run configuration suggestions appearing since KtFile.getClasses() was implemented) --- .../kotlin/idea/run/KotlinJUnitRunConfigurationProducer.kt | 4 ++++ .../kotlin/idea/run/KotlinTestNgConfigurationProducer.java | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/idea/src/org/jetbrains/kotlin/idea/run/KotlinJUnitRunConfigurationProducer.kt b/idea/src/org/jetbrains/kotlin/idea/run/KotlinJUnitRunConfigurationProducer.kt index fa5f70b5006..557ef91095d 100644 --- a/idea/src/org/jetbrains/kotlin/idea/run/KotlinJUnitRunConfigurationProducer.kt +++ b/idea/src/org/jetbrains/kotlin/idea/run/KotlinJUnitRunConfigurationProducer.kt @@ -38,6 +38,10 @@ import org.jetbrains.kotlin.psi.KtNamedFunction import org.jetbrains.kotlin.psi.psiUtil.getParentOfType class KotlinJUnitRunConfigurationProducer : RunConfigurationProducer(JUnitConfigurationType.getInstance()) { + override fun shouldReplace(self: ConfigurationFromContext, other: ConfigurationFromContext): Boolean { + return other.isProducedBy(JUnitConfigurationProducer::class.java) + } + override fun isConfigurationFromContext(configuration: JUnitConfiguration, context: ConfigurationContext): Boolean { if (RunConfigurationProducer.getInstance(PatternConfigurationProducer::class.java).isMultipleElementsSelected(context)) { diff --git a/idea/src/org/jetbrains/kotlin/idea/run/KotlinTestNgConfigurationProducer.java b/idea/src/org/jetbrains/kotlin/idea/run/KotlinTestNgConfigurationProducer.java index efc48112060..52a98f6a6cf 100644 --- a/idea/src/org/jetbrains/kotlin/idea/run/KotlinTestNgConfigurationProducer.java +++ b/idea/src/org/jetbrains/kotlin/idea/run/KotlinTestNgConfigurationProducer.java @@ -45,6 +45,11 @@ import org.jetbrains.kotlin.psi.*; import java.util.List; public class KotlinTestNgConfigurationProducer extends TestNGConfigurationProducer { + @Override + public boolean shouldReplace(ConfigurationFromContext self, ConfigurationFromContext other) { + return other.isProducedBy(TestNGConfigurationProducer.class); + } + @Override protected boolean setupConfigurationFromContext( TestNGConfiguration configuration, ConfigurationContext context, Ref sourceElement