diff --git a/idea/testData/multiModuleHighlighting/platformBasic/header/header.kt b/idea/testData/multiModuleHighlighting/multiplatform/basic/common/common.kt similarity index 100% rename from idea/testData/multiModuleHighlighting/platformBasic/header/header.kt rename to idea/testData/multiModuleHighlighting/multiplatform/basic/common/common.kt diff --git a/idea/testData/multiModuleHighlighting/platformBasic/jvm/jvm.kt b/idea/testData/multiModuleHighlighting/multiplatform/basic/jvm/jvm.kt similarity index 100% rename from idea/testData/multiModuleHighlighting/platformBasic/jvm/jvm.kt rename to idea/testData/multiModuleHighlighting/multiplatform/basic/jvm/jvm.kt diff --git a/idea/testData/multiModuleHighlighting/platformClass/header/header.kt b/idea/testData/multiModuleHighlighting/multiplatform/headerClass/common/common.kt similarity index 100% rename from idea/testData/multiModuleHighlighting/platformClass/header/header.kt rename to idea/testData/multiModuleHighlighting/multiplatform/headerClass/common/common.kt diff --git a/idea/testData/multiModuleHighlighting/platformClass/jvm/jvm.kt b/idea/testData/multiModuleHighlighting/multiplatform/headerClass/jvm/jvm.kt similarity index 100% rename from idea/testData/multiModuleHighlighting/platformClass/jvm/jvm.kt rename to idea/testData/multiModuleHighlighting/multiplatform/headerClass/jvm/jvm.kt diff --git a/idea/testData/multiModuleHighlighting/platformFunctionProperty/header/header.kt b/idea/testData/multiModuleHighlighting/multiplatform/headerFunctionProperty/common/common.kt similarity index 100% rename from idea/testData/multiModuleHighlighting/platformFunctionProperty/header/header.kt rename to idea/testData/multiModuleHighlighting/multiplatform/headerFunctionProperty/common/common.kt diff --git a/idea/testData/multiModuleHighlighting/platformFunctionProperty/jvm/jvm.kt b/idea/testData/multiModuleHighlighting/multiplatform/headerFunctionProperty/jvm/jvm.kt similarity index 100% rename from idea/testData/multiModuleHighlighting/platformFunctionProperty/jvm/jvm.kt rename to idea/testData/multiModuleHighlighting/multiplatform/headerFunctionProperty/jvm/jvm.kt diff --git a/idea/testData/multiModuleHighlighting/platformPartiallyImplemented/header/header.kt b/idea/testData/multiModuleHighlighting/multiplatform/headerPartiallyImplemented/common/common.kt similarity index 100% rename from idea/testData/multiModuleHighlighting/platformPartiallyImplemented/header/header.kt rename to idea/testData/multiModuleHighlighting/multiplatform/headerPartiallyImplemented/common/common.kt diff --git a/idea/testData/multiModuleHighlighting/platformPartiallyImplemented/jvm/jvm.kt b/idea/testData/multiModuleHighlighting/multiplatform/headerPartiallyImplemented/jvm/jvm.kt similarity index 100% rename from idea/testData/multiModuleHighlighting/platformPartiallyImplemented/jvm/jvm.kt rename to idea/testData/multiModuleHighlighting/multiplatform/headerPartiallyImplemented/jvm/jvm.kt diff --git a/idea/testData/multiModuleHighlighting/platformNotImplementedForBoth/header/header.kt b/idea/testData/multiModuleHighlighting/multiplatform/headerWithoutImplForBoth/common/common.kt similarity index 100% rename from idea/testData/multiModuleHighlighting/platformNotImplementedForBoth/header/header.kt rename to idea/testData/multiModuleHighlighting/multiplatform/headerWithoutImplForBoth/common/common.kt diff --git a/idea/testData/multiModuleHighlighting/platformNotImplementedForBoth/js/dummy.kt b/idea/testData/multiModuleHighlighting/multiplatform/headerWithoutImplForBoth/js/dummy.kt similarity index 100% rename from idea/testData/multiModuleHighlighting/platformNotImplementedForBoth/js/dummy.kt rename to idea/testData/multiModuleHighlighting/multiplatform/headerWithoutImplForBoth/js/dummy.kt diff --git a/idea/testData/multiModuleHighlighting/platformNotImplementedForBoth/jvm/dummy.kt b/idea/testData/multiModuleHighlighting/multiplatform/headerWithoutImplForBoth/jvm/dummy.kt similarity index 100% rename from idea/testData/multiModuleHighlighting/platformNotImplementedForBoth/jvm/dummy.kt rename to idea/testData/multiModuleHighlighting/multiplatform/headerWithoutImplForBoth/jvm/dummy.kt diff --git a/idea/testData/multiModuleHighlighting/platformSuppress/header/header.kt b/idea/testData/multiModuleHighlighting/multiplatform/suppressHeaderWithoutImpl/common/common.kt similarity index 100% rename from idea/testData/multiModuleHighlighting/platformSuppress/header/header.kt rename to idea/testData/multiModuleHighlighting/multiplatform/suppressHeaderWithoutImpl/common/common.kt diff --git a/idea/testData/multiModuleHighlighting/platformSuppress/jvm/dummy.kt b/idea/testData/multiModuleHighlighting/multiplatform/suppressHeaderWithoutImpl/jvm/dummy.kt similarity index 100% rename from idea/testData/multiModuleHighlighting/platformSuppress/jvm/dummy.kt rename to idea/testData/multiModuleHighlighting/multiplatform/suppressHeaderWithoutImpl/jvm/dummy.kt diff --git a/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiModuleHighlightingTest.kt b/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiModuleHighlightingTest.kt index 6e193529b9b..8ce3691e8e0 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiModuleHighlightingTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiModuleHighlightingTest.kt @@ -61,80 +61,50 @@ class MultiModuleHighlightingTest : AbstractMultiModuleHighlightingTest() { checkHighlightingInAllFiles() } - fun testPlatformBasic() { - val header = module("header") - header.createFacet(TargetPlatformKind.Common) + class MultiPlatform : AbstractMultiModuleHighlightingTest() { + override val testPath get() = super.testPath + "multiplatform/" - val jvm = module("jvm") - jvm.createFacet(TargetPlatformKind.Jvm[JvmTarget.JVM_1_6]) - jvm.enableMultiPlatform() - jvm.addDependency(header) + private fun doTest(vararg platforms: TargetPlatformKind<*>) { + val commonModule = module("common") + commonModule.createFacet(TargetPlatformKind.Common) - checkHighlightingInAllFiles() - } + for (platform in platforms) { + val path = when (platform) { + is TargetPlatformKind.Jvm -> "jvm" + is TargetPlatformKind.JavaScript -> "js" + else -> error("Unsupported platform: $platform") + } + val platformModule = module(path) + platformModule.createFacet(platform) + platformModule.enableMultiPlatform() + platformModule.addDependency(commonModule) + } - fun testPlatformClass() { - val header = module("header") - header.createFacet(TargetPlatformKind.Common) + checkHighlightingInAllFiles() + } - val jvm = module("jvm") - jvm.createFacet(TargetPlatformKind.Jvm[JvmTarget.JVM_1_6]) - jvm.enableMultiPlatform() - jvm.addDependency(header) + fun testBasic() { + doTest(TargetPlatformKind.Jvm[JvmTarget.JVM_1_6]) + } - checkHighlightingInAllFiles() - } + fun testHeaderClass() { + doTest(TargetPlatformKind.Jvm[JvmTarget.JVM_1_6]) + } - fun testPlatformNotImplementedForBoth() { - val header = module("header") - header.createFacet(TargetPlatformKind.Common) + fun testHeaderWithoutImplForBoth() { + doTest(TargetPlatformKind.Jvm[JvmTarget.JVM_1_6], TargetPlatformKind.JavaScript) + } - val jvm = module("jvm") - jvm.createFacet(TargetPlatformKind.Jvm[JvmTarget.JVM_1_6]) - jvm.enableMultiPlatform() - jvm.addDependency(header) + fun testHeaderPartiallyImplemented() { + doTest(TargetPlatformKind.Jvm[JvmTarget.JVM_1_6]) + } - val js = module("js") - js.createFacet(TargetPlatformKind.JavaScript) - js.enableMultiPlatform() - js.addDependency(header) + fun testHeaderFunctionProperty() { + doTest(TargetPlatformKind.Jvm[JvmTarget.JVM_1_6]) + } - checkHighlightingInAllFiles() - } - - fun testPlatformPartiallyImplemented() { - val header = module("header") - header.createFacet(TargetPlatformKind.Common) - - val jvm = module("jvm") - jvm.createFacet(TargetPlatformKind.Jvm[JvmTarget.JVM_1_6]) - jvm.enableMultiPlatform() - jvm.addDependency(header) - - checkHighlightingInAllFiles() - } - - fun testPlatformFunctionProperty() { - val header = module("header") - header.createFacet(TargetPlatformKind.Common) - - val jvm = module("jvm") - jvm.createFacet(TargetPlatformKind.Jvm[JvmTarget.JVM_1_6]) - jvm.enableMultiPlatform() - jvm.addDependency(header) - - checkHighlightingInAllFiles() - } - - fun testPlatformSuppress() { - val header = module("header") - header.createFacet(TargetPlatformKind.Common) - - val jvm = module("jvm") - jvm.createFacet(TargetPlatformKind.Jvm[JvmTarget.JVM_1_6]) - jvm.enableMultiPlatform() - jvm.addDependency(header) - - checkHighlightingInAllFiles() + fun testSuppressHeaderWithoutImpl() { + doTest(TargetPlatformKind.Jvm[JvmTarget.JVM_1_6]) + } } }