Refactoring: extract method for configuring runtime without sdk change
This commit is contained in:
+24
-20
@@ -48,30 +48,34 @@ public class ConfigLibraryUtil {
|
||||
return editor;
|
||||
}
|
||||
|
||||
public static void configureKotlinRuntime(Module module, Sdk sdk) {
|
||||
configureLibrary(module, sdk, getKotlinRuntimeLibEditor(DEFAULT_JAVA_RUNTIME_LIB_NAME, PathUtil.getKotlinPathsForDistDirectory().getRuntimePath()));
|
||||
}
|
||||
|
||||
public static void configureKotlinJsRuntime(Module module, Sdk sdk) {
|
||||
configureLibrary(module, sdk, getKotlinRuntimeLibEditor(DEFAULT_KOTLIN_JS_STDLIB_NAME, PathUtil.getKotlinPathsForDistDirectory().getJsStdLibJarPath()));
|
||||
}
|
||||
|
||||
public static void unConfigureKotlinRuntime(Module module, Sdk sdk) {
|
||||
unConfigureLibrary(module, sdk, DEFAULT_JAVA_RUNTIME_LIB_NAME);
|
||||
}
|
||||
|
||||
public static void unConfigureKotlinJsRuntime(Module module, Sdk sdk) {
|
||||
unConfigureLibrary(module, sdk, DEFAULT_KOTLIN_JS_STDLIB_NAME);
|
||||
}
|
||||
|
||||
public static void configureLibrary(Module module, Sdk sdk, NewLibraryEditor libraryEditor) {
|
||||
public static void configureKotlinRuntimeAndSdk(Module module, Sdk sdk) {
|
||||
configureSdk(module, sdk);
|
||||
addLibrary(libraryEditor, module);
|
||||
configureKotlinRuntime(module);
|
||||
}
|
||||
|
||||
public static void unConfigureLibrary(Module module, Sdk sdk, String libraryName) {
|
||||
public static void configureKotlinJsRuntimeAndSdk(Module module, Sdk sdk) {
|
||||
configureSdk(module, sdk);
|
||||
removeLibrary(module, libraryName);
|
||||
configureKotlinJsRuntime(module);
|
||||
}
|
||||
|
||||
public static void configureKotlinRuntime(Module module) {
|
||||
addLibrary(getKotlinRuntimeLibEditor(DEFAULT_JAVA_RUNTIME_LIB_NAME, PathUtil.getKotlinPathsForDistDirectory().getRuntimePath()),
|
||||
module);
|
||||
}
|
||||
|
||||
public static void configureKotlinJsRuntime(Module module) {
|
||||
addLibrary(getKotlinRuntimeLibEditor(DEFAULT_KOTLIN_JS_STDLIB_NAME,
|
||||
PathUtil.getKotlinPathsForDistDirectory().getJsStdLibJarPath()), module);
|
||||
}
|
||||
|
||||
public static void unConfigureKotlinRuntimeAndSdk(Module module, Sdk sdk) {
|
||||
configureSdk(module, sdk);
|
||||
removeLibrary(module, DEFAULT_JAVA_RUNTIME_LIB_NAME);
|
||||
}
|
||||
|
||||
public static void unConfigureKotlinJsRuntimeAndSdk(Module module, Sdk sdk) {
|
||||
configureSdk(module, sdk);
|
||||
removeLibrary(module, DEFAULT_KOTLIN_JS_STDLIB_NAME);
|
||||
}
|
||||
|
||||
public static void configureSdk(@NotNull final Module module, @NotNull final Sdk sdk) {
|
||||
|
||||
@@ -68,7 +68,7 @@ public abstract class AbstractJetInspectionTest: LightCodeInsightFixtureTestCase
|
||||
|
||||
try {
|
||||
if (isWithRuntime) {
|
||||
ConfigLibraryUtil.configureKotlinRuntime(
|
||||
ConfigLibraryUtil.configureKotlinRuntimeAndSdk(
|
||||
myFixture.getModule(),
|
||||
if (fullJdk) PluginTestCaseBase.fullJdk() else PluginTestCaseBase.mockJdk()
|
||||
)
|
||||
@@ -85,7 +85,7 @@ public abstract class AbstractJetInspectionTest: LightCodeInsightFixtureTestCase
|
||||
}
|
||||
finally {
|
||||
if (isWithRuntime) {
|
||||
ConfigLibraryUtil.unConfigureKotlinRuntime(myFixture.getModule(), IdeaTestUtil.getMockJdk17())
|
||||
ConfigLibraryUtil.unConfigureKotlinRuntimeAndSdk(myFixture.getModule(), IdeaTestUtil.getMockJdk17())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -117,7 +117,7 @@ public abstract class AbstractIntentionTest extends KotlinCodeInsightTestCase {
|
||||
|
||||
try {
|
||||
if (isWithRuntime) {
|
||||
ConfigLibraryUtil.configureKotlinRuntime(getModule(), PluginTestCaseBase.mockJdk());
|
||||
ConfigLibraryUtil.configureKotlinRuntimeAndSdk(getModule(), PluginTestCaseBase.mockJdk());
|
||||
}
|
||||
|
||||
DirectiveBasedActionUtils.checkForUnexpectedErrors((JetFile) getFile());
|
||||
@@ -126,7 +126,7 @@ public abstract class AbstractIntentionTest extends KotlinCodeInsightTestCase {
|
||||
}
|
||||
finally {
|
||||
if (isWithRuntime) {
|
||||
ConfigLibraryUtil.unConfigureKotlinRuntime(getModule(), getTestProjectJdk());
|
||||
ConfigLibraryUtil.unConfigureKotlinRuntimeAndSdk(getModule(), getTestProjectJdk());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ public abstract class AbstractQuickFixMultiFileTest extends KotlinDaemonAnalyzer
|
||||
|
||||
boolean withRuntime = InTextDirectivesUtils.isDirectiveDefined(originalFileText, "// WITH_RUNTIME");
|
||||
if (withRuntime) {
|
||||
ConfigLibraryUtil.configureKotlinRuntime(myModule, PluginTestCaseBase.mockJdk());
|
||||
ConfigLibraryUtil.configureKotlinRuntimeAndSdk(myModule, PluginTestCaseBase.mockJdk());
|
||||
}
|
||||
|
||||
try {
|
||||
@@ -142,7 +142,7 @@ public abstract class AbstractQuickFixMultiFileTest extends KotlinDaemonAnalyzer
|
||||
}
|
||||
finally {
|
||||
if (withRuntime) {
|
||||
ConfigLibraryUtil.unConfigureKotlinRuntime(myModule, PluginTestCaseBase.mockJdk());
|
||||
ConfigLibraryUtil.unConfigureKotlinRuntimeAndSdk(myModule, PluginTestCaseBase.mockJdk());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,19 +83,19 @@ public abstract class AbstractQuickFixTest extends KotlinLightQuickFixTestCase {
|
||||
|
||||
private static void configureRuntimeIfNeeded(@NotNull String beforeFileName) {
|
||||
if (beforeFileName.endsWith("JsRuntime.kt")) {
|
||||
ConfigLibraryUtil.configureKotlinJsRuntime(getModule(), getFullJavaJDK());
|
||||
ConfigLibraryUtil.configureKotlinJsRuntimeAndSdk(getModule(), getFullJavaJDK());
|
||||
}
|
||||
else if (beforeFileName.endsWith("Runtime.kt")) {
|
||||
ConfigLibraryUtil.configureKotlinRuntime(getModule(), getFullJavaJDK());
|
||||
ConfigLibraryUtil.configureKotlinRuntimeAndSdk(getModule(), getFullJavaJDK());
|
||||
}
|
||||
}
|
||||
|
||||
private void unConfigureRuntimeIfNeeded(@NotNull String beforeFileName) {
|
||||
private static void unConfigureRuntimeIfNeeded(@NotNull String beforeFileName) {
|
||||
if (beforeFileName.endsWith("JsRuntime.kt")) {
|
||||
ConfigLibraryUtil.unConfigureKotlinJsRuntime(getModule(), getProjectJDK());
|
||||
ConfigLibraryUtil.unConfigureKotlinJsRuntimeAndSdk(getModule(), getProjectJDK());
|
||||
}
|
||||
else if (beforeFileName.endsWith("Runtime.kt")) {
|
||||
ConfigLibraryUtil.unConfigureKotlinRuntime(getModule(), getProjectJDK());
|
||||
ConfigLibraryUtil.unConfigureKotlinRuntimeAndSdk(getModule(), getProjectJDK());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -225,7 +225,7 @@ public abstract class AbstractJetExtractionTest() : JetLightCodeInsightFixtureTe
|
||||
|
||||
val addKotlinRuntime = InTextDirectivesUtils.findStringWithPrefixes(file.getText(), "// WITH_RUNTIME") != null
|
||||
if (addKotlinRuntime) {
|
||||
ConfigLibraryUtil.configureKotlinRuntime(myModule, PluginTestCaseBase.mockJdk())
|
||||
ConfigLibraryUtil.configureKotlinRuntimeAndSdk(myModule, PluginTestCaseBase.mockJdk())
|
||||
}
|
||||
|
||||
try {
|
||||
@@ -240,7 +240,7 @@ public abstract class AbstractJetExtractionTest() : JetLightCodeInsightFixtureTe
|
||||
}
|
||||
finally {
|
||||
if (addKotlinRuntime) {
|
||||
ConfigLibraryUtil.unConfigureKotlinRuntime(myModule, PluginTestCaseBase.mockJdk())
|
||||
ConfigLibraryUtil.unConfigureKotlinRuntimeAndSdk(myModule, PluginTestCaseBase.mockJdk())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@ public abstract class AbstractJetMoveTest : KotlinMultiFileTestCase() {
|
||||
|
||||
val withRuntime = config["withRuntime"]?.getAsBoolean() ?: false
|
||||
if (withRuntime) {
|
||||
ConfigLibraryUtil.configureKotlinRuntime(myModule, PluginTestCaseBase.mockJdk())
|
||||
ConfigLibraryUtil.configureKotlinRuntimeAndSdk(myModule, PluginTestCaseBase.mockJdk())
|
||||
}
|
||||
|
||||
doTest({ rootDir, rootAfter ->
|
||||
@@ -114,7 +114,7 @@ public abstract class AbstractJetMoveTest : KotlinMultiFileTestCase() {
|
||||
EditorFactory.getInstance()!!.releaseEditor(editor)
|
||||
|
||||
if (withRuntime) {
|
||||
ConfigLibraryUtil.unConfigureKotlinRuntime(myModule, PluginTestCaseBase.mockJdk())
|
||||
ConfigLibraryUtil.unConfigureKotlinRuntimeAndSdk(myModule, PluginTestCaseBase.mockJdk())
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -41,8 +41,8 @@ import com.intellij.testFramework.PsiTestUtil
|
||||
import org.jetbrains.kotlin.idea.search.allScope
|
||||
import org.jetbrains.kotlin.idea.stubindex.JetTopLevelFunctionFqnNameIndex
|
||||
import org.jetbrains.kotlin.idea.test.ConfigLibraryUtil
|
||||
import org.jetbrains.kotlin.idea.test.ConfigLibraryUtil.configureKotlinJsRuntime
|
||||
import org.jetbrains.kotlin.idea.test.ConfigLibraryUtil.configureKotlinRuntime
|
||||
import org.jetbrains.kotlin.idea.test.ConfigLibraryUtil.configureKotlinJsRuntimeAndSdk
|
||||
import org.jetbrains.kotlin.idea.test.ConfigLibraryUtil.configureKotlinRuntimeAndSdk
|
||||
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase
|
||||
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
||||
import org.jetbrains.kotlin.psi.JetNamedDeclaration
|
||||
@@ -91,11 +91,11 @@ class RunConfigurationTest: CodeInsightTestCase() {
|
||||
}
|
||||
|
||||
fun testClassesAndObjects() {
|
||||
doTest(ConfigLibraryUtil::configureKotlinRuntime)
|
||||
doTest(ConfigLibraryUtil::configureKotlinRuntimeAndSdk)
|
||||
}
|
||||
|
||||
fun testInJsModule() {
|
||||
doTest(ConfigLibraryUtil::configureKotlinJsRuntime)
|
||||
doTest(ConfigLibraryUtil::configureKotlinJsRuntimeAndSdk)
|
||||
}
|
||||
|
||||
private fun doTest(configureRuntime: (Module, Sdk) -> Unit) {
|
||||
@@ -133,7 +133,7 @@ class RunConfigurationTest: CodeInsightTestCase() {
|
||||
Assert.assertEquals(expectedClasses, actualClasses)
|
||||
}
|
||||
finally {
|
||||
ConfigLibraryUtil.unConfigureKotlinRuntime(createModuleResult.module, PluginTestCaseBase.mockJdk())
|
||||
ConfigLibraryUtil.unConfigureKotlinRuntimeAndSdk(createModuleResult.module, PluginTestCaseBase.mockJdk())
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user