Kotlin-produced test run configurations replace Java-produced ones (to avoid duplicate run configuration suggestions appearing since KtFile.getClasses() was implemented)

This commit is contained in:
Dmitry Jemerov
2016-01-21 14:37:35 +01:00
parent 51799ef70e
commit 3b4a6afe01
2 changed files with 9 additions and 0 deletions
@@ -38,6 +38,10 @@ import org.jetbrains.kotlin.psi.KtNamedFunction
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
class KotlinJUnitRunConfigurationProducer : RunConfigurationProducer<JUnitConfiguration>(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)) {
@@ -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<PsiElement> sourceElement