mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
extract junit/testng common part: replace inheritance with delegation to preserve producers ordering (kotlin compatibility)
This commit is contained in:
+31
-1
@@ -15,10 +15,40 @@
|
||||
*/
|
||||
package com.intellij.execution.junit;
|
||||
|
||||
import com.intellij.execution.actions.ConfigurationContext;
|
||||
import com.intellij.execution.actions.ConfigurationFromContext;
|
||||
import com.intellij.execution.testframework.AbstractInClassConfigurationProducer;
|
||||
import com.intellij.openapi.util.Ref;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class TestInClassConfigurationProducer extends AbstractInClassConfigurationProducer<JUnitConfiguration> {
|
||||
public class TestInClassConfigurationProducer extends JUnitConfigurationProducer {
|
||||
private JUnitInClassConfigurationProducerDelegate myDelegate = new JUnitInClassConfigurationProducerDelegate();
|
||||
public TestInClassConfigurationProducer() {
|
||||
super(JUnitConfigurationType.getInstance());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setupConfigurationFromContext(JUnitConfiguration configuration,
|
||||
ConfigurationContext context,
|
||||
Ref<PsiElement> sourceElement) {
|
||||
return myDelegate.setupConfigurationFromContext(configuration, context, sourceElement);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFirstRun(@NotNull ConfigurationFromContext configuration,
|
||||
@NotNull ConfigurationContext fromContext,
|
||||
@NotNull Runnable performRunnable) {
|
||||
myDelegate.onFirstRun(configuration, fromContext, performRunnable);
|
||||
}
|
||||
|
||||
private static class JUnitInClassConfigurationProducerDelegate
|
||||
extends AbstractInClassConfigurationProducer<JUnitConfiguration> {
|
||||
public JUnitInClassConfigurationProducerDelegate() {super(JUnitConfigurationType.getInstance());}
|
||||
|
||||
@Override
|
||||
protected boolean setupConfigurationFromContext(JUnitConfiguration configuration, ConfigurationContext context, Ref<PsiElement> sourceElement) {
|
||||
return super.setupConfigurationFromContext(configuration, context, sourceElement);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+35
-1
@@ -15,10 +15,44 @@
|
||||
*/
|
||||
package com.theoryinpractice.testng.configuration;
|
||||
|
||||
import com.intellij.execution.actions.ConfigurationContext;
|
||||
import com.intellij.execution.actions.ConfigurationFromContext;
|
||||
import com.intellij.execution.configurations.ConfigurationType;
|
||||
import com.intellij.execution.testframework.AbstractInClassConfigurationProducer;
|
||||
import com.intellij.openapi.util.Ref;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class TestNGInClassConfigurationProducer extends AbstractInClassConfigurationProducer<TestNGConfiguration> {
|
||||
public class TestNGInClassConfigurationProducer extends TestNGConfigurationProducer {
|
||||
private TestNGInClassConfigurationProducerDelegate myDelegate = new TestNGInClassConfigurationProducerDelegate(TestNGConfigurationType.getInstance());
|
||||
protected TestNGInClassConfigurationProducer() {
|
||||
super(TestNGConfigurationType.getInstance());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFirstRun(@NotNull ConfigurationFromContext configuration,
|
||||
@NotNull ConfigurationContext fromContext,
|
||||
@NotNull Runnable performRunnable) {
|
||||
myDelegate.onFirstRun(configuration, fromContext, performRunnable);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setupConfigurationFromContext(TestNGConfiguration configuration,
|
||||
ConfigurationContext context,
|
||||
Ref<PsiElement> sourceElement) {
|
||||
return myDelegate.setupConfigurationFromContext(configuration, context, sourceElement);
|
||||
}
|
||||
|
||||
private static class TestNGInClassConfigurationProducerDelegate extends AbstractInClassConfigurationProducer<TestNGConfiguration> {
|
||||
protected TestNGInClassConfigurationProducerDelegate(ConfigurationType configurationType) {
|
||||
super(configurationType);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setupConfigurationFromContext(TestNGConfiguration configuration,
|
||||
ConfigurationContext context,
|
||||
Ref<PsiElement> sourceElement) {
|
||||
return super.setupConfigurationFromContext(configuration, context, sourceElement);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user