Rewrite NavigateToStdlibSourceTest with project descriptors
This commit is contained in:
+21
@@ -112,6 +112,27 @@ abstract class KotlinLightCodeInsightFixtureTestCase : KotlinLightCodeInsightFix
|
||||
|
||||
return when (platformId) {
|
||||
JDK_AND_MULTIPLATFORM_STDLIB_WITH_SOURCES -> KotlinJdkAndMultiplatformStdlibDescriptor.JDK_AND_MULTIPLATFORM_STDLIB_WITH_SOURCES
|
||||
|
||||
KOTLIN_JVM_WITH_STDLIB_SOURCES -> ProjectDescriptorWithStdlibSources.INSTANCE
|
||||
|
||||
KOTLIN_JAVASCRIPT -> KotlinStdJSProjectDescriptor
|
||||
|
||||
KOTLIN_JVM_WITH_STDLIB_SOURCES_WITH_ADDITIONAL_JS -> {
|
||||
KotlinMultiModuleProjectDescriptor(
|
||||
KOTLIN_JVM_WITH_STDLIB_SOURCES_WITH_ADDITIONAL_JS,
|
||||
mainModuleDescriptor = ProjectDescriptorWithStdlibSources.INSTANCE,
|
||||
additionalModuleDescriptor = KotlinStdJSProjectDescriptor
|
||||
)
|
||||
}
|
||||
|
||||
KOTLIN_JAVASCRIPT_WITH_ADDITIONAL_JVM_WITH_STDLIB -> {
|
||||
KotlinMultiModuleProjectDescriptor(
|
||||
KOTLIN_JAVASCRIPT_WITH_ADDITIONAL_JVM_WITH_STDLIB,
|
||||
mainModuleDescriptor = KotlinStdJSProjectDescriptor,
|
||||
additionalModuleDescriptor = ProjectDescriptorWithStdlibSources.INSTANCE
|
||||
)
|
||||
}
|
||||
|
||||
else -> throw IllegalStateException("Unknown value for project descriptor kind")
|
||||
}
|
||||
}
|
||||
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
|
||||
* that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.idea.test
|
||||
|
||||
import com.intellij.openapi.module.Module
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.roots.ModifiableRootModel
|
||||
|
||||
class KotlinMultiModuleProjectDescriptor(
|
||||
val id: String,
|
||||
private val mainModuleDescriptor: KotlinLightProjectDescriptor,
|
||||
private val additionalModuleDescriptor: KotlinLightProjectDescriptor
|
||||
) : KotlinLightProjectDescriptor() {
|
||||
lateinit var additionalModule: Module
|
||||
|
||||
override fun setUpProject(project: Project, handler: SetupHandler) {
|
||||
super.setUpProject(project, handler)
|
||||
|
||||
additionalModule = additionalModuleDescriptor.createMainModule(project)
|
||||
}
|
||||
|
||||
override fun configureModule(module: Module, model: ModifiableRootModel) {
|
||||
mainModuleDescriptor.configureModule(module, model)
|
||||
}
|
||||
|
||||
override fun equals(other: Any?): Boolean {
|
||||
if (this === other) return true
|
||||
if (javaClass != other?.javaClass) return false
|
||||
|
||||
other as KotlinMultiModuleProjectDescriptor
|
||||
|
||||
if (id != other.id) return false
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
override fun hashCode(): Int {
|
||||
return id.hashCode()
|
||||
}
|
||||
}
|
||||
+9
-1
@@ -9,4 +9,12 @@ package org.jetbrains.kotlin.idea.test
|
||||
@Target(AnnotationTarget.FUNCTION)
|
||||
annotation class ProjectDescriptorKind(val value: String)
|
||||
|
||||
const val JDK_AND_MULTIPLATFORM_STDLIB_WITH_SOURCES = "JDK_AND_MULTIPLATFORM_STDLIB_WITH_SOURCES"
|
||||
const val JDK_AND_MULTIPLATFORM_STDLIB_WITH_SOURCES = "JDK_AND_MULTIPLATFORM_STDLIB_WITH_SOURCES"
|
||||
|
||||
const val KOTLIN_JVM_WITH_STDLIB_SOURCES = "KOTLIN_JVM_WITH_STDLIB_SOURCES"
|
||||
|
||||
const val KOTLIN_JAVASCRIPT = "KOTLIN_JAVASCRIPT"
|
||||
|
||||
const val KOTLIN_JVM_WITH_STDLIB_SOURCES_WITH_ADDITIONAL_JS = "KOTLIN_JVM_WITH_STDLIB_SOURCES_WITH_ADDITIONAL_JS"
|
||||
|
||||
const val KOTLIN_JAVASCRIPT_WITH_ADDITIONAL_JVM_WITH_STDLIB = "KOTLIN_JAVASCRIPT_WITH_ADDITIONAL_JVM_WITH_STDLIB"
|
||||
Reference in New Issue
Block a user