[junit] Run Kotlin JUnit tests on both K1 and K2 frontend

#IDEA-354809 Fixed

GitOrigin-RevId: 762f49182607ab12adee58053a76606f8a923cfa
This commit is contained in:
Bart van Helvert
2024-07-17 13:06:34 +02:00
committed by intellij-monorepo-bot
parent bb98fe6a9a
commit 8134aff6ea
53 changed files with 768 additions and 454 deletions

4
.idea/modules.xml generated
View File

@@ -474,7 +474,9 @@
<module fileurl="file://$PROJECT_DIR$/plugins/junit/intellij.junit.iml" filepath="$PROJECT_DIR$/plugins/junit/intellij.junit.iml" />
<module fileurl="file://$PROJECT_DIR$/plugins/junit/groovy-tests/intellij.junit.groovy.tests.iml" filepath="$PROJECT_DIR$/plugins/junit/groovy-tests/intellij.junit.groovy.tests.iml" />
<module fileurl="file://$PROJECT_DIR$/plugins/junit/java-tests/intellij.junit.java.tests.iml" filepath="$PROJECT_DIR$/plugins/junit/java-tests/intellij.junit.java.tests.iml" />
<module fileurl="file://$PROJECT_DIR$/plugins/junit/kotlin-tests/intellij.junit.kotlin.tests.iml" filepath="$PROJECT_DIR$/plugins/junit/kotlin-tests/intellij.junit.kotlin.tests.iml" />
<module fileurl="file://$PROJECT_DIR$/plugins/junit/kotlin-tests-k1/intellij.junit.kotlin.tests.k1.iml" filepath="$PROJECT_DIR$/plugins/junit/kotlin-tests-k1/intellij.junit.kotlin.tests.k1.iml" />
<module fileurl="file://$PROJECT_DIR$/plugins/junit/kotlin-tests-k2/intellij.junit.kotlin.tests.k2.iml" filepath="$PROJECT_DIR$/plugins/junit/kotlin-tests-k2/intellij.junit.kotlin.tests.k2.iml" />
<module fileurl="file://$PROJECT_DIR$/plugins/junit/kotlin-tests-shared/intellij.junit.kotlin.tests.shared.iml" filepath="$PROJECT_DIR$/plugins/junit/kotlin-tests-shared/intellij.junit.kotlin.tests.shared.iml" />
<module fileurl="file://$PROJECT_DIR$/plugins/junit_rt/intellij.junit.rt.iml" filepath="$PROJECT_DIR$/plugins/junit_rt/intellij.junit.rt.iml" />
<module fileurl="file://$PROJECT_DIR$/plugins/junit/testFramework/intellij.junit.testFramework.iml" filepath="$PROJECT_DIR$/plugins/junit/testFramework/intellij.junit.testFramework.iml" />
<module fileurl="file://$PROJECT_DIR$/plugins/junit5_rt/intellij.junit.v5.rt.iml" filepath="$PROJECT_DIR$/plugins/junit5_rt/intellij.junit.v5.rt.iml" />

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="kotlin.plugin.k1" scope="RUNTIME" />
<orderEntry type="module" module-name="intellij.platform.testFramework" scope="TEST" />
<orderEntry type="module" module-name="intellij.junit.kotlin.tests.shared" scope="TEST" />
<orderEntry type="module" module-name="kotlin.base.plugin" scope="TEST" />
</component>
</module>

View File

@@ -0,0 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
class K1JUnit5AcceptanceTest : KotlinJUnit5AcceptanceTest() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K1
}

View File

@@ -0,0 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
class K1JUnit5ReferenceContributorTest : KotlinJUnit5ReferenceContributorTest() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K1
}

View File

@@ -0,0 +1,15 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin
import com.intellij.testFramework.fixtures.BasePlatformTestCase
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginModeProvider
class K1PluginSanityTest : BasePlatformTestCase() {
fun testK2PluginDisabled() {
assertFalse(KotlinPluginModeProvider.isK2Mode())
}
fun testK1PluginEnabled() {
assertTrue(KotlinPluginModeProvider.isK1Mode())
}
}

View File

@@ -0,0 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin.codeInspection
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
class K1HamcrestAssertionsConverterInspectionTest : KotlinHamcrestAssertionsConverterInspectionTest() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K1
}

View File

@@ -0,0 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin.codeInspection
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
class K1JUnit3SuperTearDownInspectionTest : KotlinJUnit3SuperTearDownInspectionTest() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K1
}

View File

@@ -0,0 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin.codeInspection
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
class K1JUnit4ConverterInspectionTest : KotlinJUnit4ConverterInspectionTest() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K1
}

View File

@@ -0,0 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin.codeInspection
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
class K1JUnit5AssertionsConverterInspectionTest : KotlinJUnit5AssertionsConverterInspectionTest() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K1
}

View File

@@ -0,0 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin.codeInspection
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
class K1JUnit5ConverterInspectionTest : KotlinJUnit5ConverterInspectionTest() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K1
}

View File

@@ -0,0 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin.codeInspection
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
class K1JUnitAssertEqualsMayBeAssertSameInspectionTest : KotlinJUnitAssertEqualsMayBeAssertSameInspectionTest() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K1
}

View File

@@ -0,0 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin.codeInspection
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
class K1JUnitAssertEqualsOnArrayInspectionTest : KotlinJUnitAssertEqualsOnArrayInspectionTest() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K1
}

View File

@@ -0,0 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin.codeInspection
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
class K1JUnitIgnoredTestInspectionTest : KotlinJUnitIgnoredTestInspectionTest() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K1
}

View File

@@ -0,0 +1,12 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin.codeInspection
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
class K1JUnitMalformedDeclarationInspectionTestV57 : KotlinJUnitMalformedDeclarationInspectionTestV57() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K1
}
class K1JUnitMalformedDeclarationInspectionTestLatest : KotlinJUnitMalformedDeclarationInspectionTestLatest() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K1
}

View File

@@ -0,0 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin.codeInspection
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
class K1JUnitMixedFrameworkInspectionTest : KotlinJUnitMixedFrameworkInspectionTest() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K1
}

View File

@@ -0,0 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin.codeInspection
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
class K1JUnitParameterizedSourceGoToRelatedTest : KotlinJUnitParameterizedSourceGoToRelatedTest() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K1
}

View File

@@ -0,0 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin.codeInspection
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
class K1TestCaseWithMultipleRunnersInspectionTest : KotlinTestCaseWithMultipleRunnersInspectionTest() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K1
}

View File

@@ -0,0 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin.codeInspection.deadCode
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
class K1JUnit5ImplicitUsageProviderTest : KotlinJUnit5ImplicitUsageProviderTest() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K1
}

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="kotlin.plugin.k2" scope="RUNTIME" />
<orderEntry type="module" module-name="intellij.platform.testFramework" scope="TEST" />
<orderEntry type="module" module-name="intellij.junit.kotlin.tests.shared" scope="TEST" />
<orderEntry type="module" module-name="kotlin.base.plugin" scope="TEST" />
</component>
</module>

View File

@@ -0,0 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
class K2JUnit5AcceptanceTest : KotlinJUnit5AcceptanceTest() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K2
}

View File

@@ -0,0 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
class K2JUnit5ReferenceContributorTest : KotlinJUnit5ReferenceContributorTest() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K2
}

View File

@@ -0,0 +1,15 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin
import com.intellij.testFramework.fixtures.BasePlatformTestCase
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginModeProvider
class K2PluginSanityTest : BasePlatformTestCase() {
fun testK2PluginEnabled() {
assertTrue(KotlinPluginModeProvider.isK2Mode())
}
fun testK1PluginDisabled() {
assertFalse(KotlinPluginModeProvider.isK1Mode())
}
}

View File

@@ -0,0 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin.codeInspection
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
class K2HamcrestAssertionsConverterInspectionTest : KotlinHamcrestAssertionsConverterInspectionTest() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K2
}

View File

@@ -0,0 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin.codeInspection
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
class K2JUnit3SuperTearDownInspectionTest : KotlinJUnit3SuperTearDownInspectionTest() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K2
}

View File

@@ -0,0 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin.codeInspection
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
class K2JUnit4ConverterInspectionTest : KotlinJUnit4ConverterInspectionTest() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K2
}

View File

@@ -0,0 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin.codeInspection
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
class K2JUnit5AssertionsConverterInspectionTest : KotlinJUnit5AssertionsConverterInspectionTest() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K2
}

View File

@@ -0,0 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin.codeInspection
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
class K2JUnit5ConverterInspectionTest : KotlinJUnit5ConverterInspectionTest() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K2
}

View File

@@ -0,0 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin.codeInspection
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
class K2JUnitAssertEqualsMayBeAssertSameInspectionTest : KotlinJUnitAssertEqualsMayBeAssertSameInspectionTest() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K2
}

View File

@@ -0,0 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin.codeInspection
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
class K2JUnitAssertEqualsOnArrayInspectionTest : KotlinJUnitAssertEqualsOnArrayInspectionTest() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K2
}

View File

@@ -0,0 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin.codeInspection
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
class K2JUnitIgnoredTestInspectionTest : KotlinJUnitIgnoredTestInspectionTest() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K2
}

View File

@@ -0,0 +1,12 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin.codeInspection
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
class K2JUnitMalformedDeclarationInspectionTestV57 : KotlinJUnitMalformedDeclarationInspectionTestV57() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K2
}
class K2JUnitMalformedDeclarationInspectionTestLatest : KotlinJUnitMalformedDeclarationInspectionTestLatest() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K2
}

View File

@@ -0,0 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin.codeInspection
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
class K2JUnitMixedFrameworkInspectionTest : KotlinJUnitMixedFrameworkInspectionTest() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K2
}

View File

@@ -0,0 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin.codeInspection
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
class K2JUnitParameterizedSourceGoToRelatedTest : KotlinJUnitParameterizedSourceGoToRelatedTest() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K2
}

View File

@@ -0,0 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin.codeInspection
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
class K2TestCaseWithMultipleRunnersInspectionTest : KotlinTestCaseWithMultipleRunnersInspectionTest() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K2
}

View File

@@ -0,0 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.execution.junit.kotlin.codeInspection.deadCode
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
class K2JUnit5ImplicitUsageProviderTest : KotlinJUnit5ImplicitUsageProviderTest() {
override val pluginMode: KotlinPluginMode = KotlinPluginMode.K2
}

View File

@@ -7,11 +7,10 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="kotlin.plugin.k1" scope="TEST" />
<orderEntry type="module" module-name="kotlin.plugin.common" scope="TEST" />
<orderEntry type="module" module-name="intellij.junit.testFramework" scope="TEST" />
<orderEntry type="module" module-name="intellij.platform.testFramework.junit5" scope="TEST" />
<orderEntry type="module" module-name="kotlin.test-framework" scope="TEST" />
<orderEntry type="module" module-name="intellij.junit.java.tests" scope="TEST" />
<orderEntry type="module" module-name="kotlin.plugin.common" exported="" scope="TEST" />
<orderEntry type="module" module-name="intellij.junit.testFramework" exported="" scope="TEST" />
<orderEntry type="module" module-name="intellij.platform.testFramework.junit5" exported="" scope="TEST" />
<orderEntry type="module" module-name="kotlin.test-framework" exported="" scope="TEST" />
<orderEntry type="module" module-name="intellij.junit.java.tests" exported="" scope="TEST" />
</component>
</module>

View File

@@ -5,24 +5,20 @@ import com.intellij.codeInsight.TestFrameworks
import com.intellij.execution.junit.JUnitConfiguration
import com.intellij.execution.junit.codeInsight.JUnit5TestFrameworkSetupUtil
import com.intellij.psi.PsiClassOwner
import com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase5
import com.intellij.testFramework.junit5.RunInEdt
import com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase
import org.jetbrains.kotlin.idea.test.ExpectedPluginModeProvider
import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
@RunInEdt(writeIntent = true)
class KotlinJUnit5AcceptanceTest : LightJavaCodeInsightFixtureTestCase5() {
@BeforeEach
internal fun setUp() {
JUnit5TestFrameworkSetupUtil.setupJUnit5Library(fixture)
abstract class KotlinJUnit5AcceptanceTest : LightJavaCodeInsightFixtureTestCase(), ExpectedPluginModeProvider {
override fun setUp() {
super.setUp()
JUnit5TestFrameworkSetupUtil.setupJUnit5Library(myFixture)
}
@Test
fun compoundAnnotation() {
fixture.addFileToProject("CombinedKotlinAnnotation.kt","""@org.junit.jupiter.api.Test
fun testCompoundAnnotation() {
myFixture.addFileToProject("CombinedKotlinAnnotation.kt","""@org.junit.jupiter.api.Test
annotation class CombinedKotlinAnnotation""")
val file = fixture.configureByText("tests.kt", """
val file = myFixture.configureByText("tests.kt", """
class Tests {
@CombinedKotlinAnnotation
fun testExampleKotlinAnnotation() {}
@@ -32,9 +28,8 @@ annotation class CombinedKotlinAnnotation""")
Assertions.assertNotNull(TestFrameworks.detectFramework((file as PsiClassOwner).classes[0]))
}
@Test
fun bracesInMethodName() {
val file = fixture.configureByText("tests.kt", """
fun testBracesInMethodName() {
val file = myFixture.configureByText("tests.kt", """
class Tests {
@org.junit.jupiter.api.Test
fun `test wi<caret>th (in name)`() {}

View File

@@ -3,8 +3,9 @@ package com.intellij.execution.junit.kotlin
import com.intellij.junit.testFramework.JUnit5ReferenceContributorTestBase
import com.intellij.jvm.analysis.testFramework.JvmLanguage
import org.jetbrains.kotlin.idea.test.ExpectedPluginModeProvider
class KotlinJUnit5ReferenceContributorTest : JUnit5ReferenceContributorTestBase() {
abstract class KotlinJUnit5ReferenceContributorTest : JUnit5ReferenceContributorTestBase(), ExpectedPluginModeProvider {
fun `test resolve to enum source value`() {
myFixture.assertResolvableReference(JvmLanguage.KOTLIN, """
enum class Foo { AAA, BBB }

View File

@@ -4,8 +4,9 @@ package com.intellij.execution.junit.kotlin.codeInspection
import com.intellij.junit.testFramework.HamcrestAssertionsConverterInspectionTestBase
import com.intellij.jvm.analysis.testFramework.JvmLanguage
import org.jetbrains.kotlin.idea.test.ConfigLibraryUtil
import org.jetbrains.kotlin.idea.test.ExpectedPluginModeProvider
class KotlinHamcrestAssertionsConverterInspectionTest : HamcrestAssertionsConverterInspectionTestBase() {
abstract class KotlinHamcrestAssertionsConverterInspectionTest : HamcrestAssertionsConverterInspectionTestBase(), ExpectedPluginModeProvider {
override fun setUp() {
super.setUp()
ConfigLibraryUtil.configureKotlinRuntime(myFixture.module)

View File

@@ -3,8 +3,9 @@ package com.intellij.execution.junit.kotlin.codeInspection
import com.intellij.junit.testFramework.JUnit3SuperTearDownInspectionTestBase
import com.intellij.jvm.analysis.testFramework.JvmLanguage
import org.jetbrains.kotlin.idea.test.ExpectedPluginModeProvider
class KotlinJUnit3SuperTearDownInspectionTest : JUnit3SuperTearDownInspectionTestBase() {
abstract class KotlinJUnit3SuperTearDownInspectionTest : JUnit3SuperTearDownInspectionTestBase(), ExpectedPluginModeProvider {
fun `test teardown in finally no highlighting`() {
myFixture.testHighlighting(
JvmLanguage.KOTLIN, """

View File

@@ -5,8 +5,9 @@ import com.intellij.junit.testFramework.JUnit4ConverterInspectionTestBase
import com.intellij.jvm.analysis.testFramework.JvmLanguage
import com.intellij.refactoring.BaseRefactoringProcessor
import org.jetbrains.kotlin.idea.test.ConfigLibraryUtil
import org.jetbrains.kotlin.idea.test.ExpectedPluginModeProvider
class KotlinJUnit4ConverterInspectionTest : JUnit4ConverterInspectionTestBase() {
abstract class KotlinJUnit4ConverterInspectionTest : JUnit4ConverterInspectionTestBase(), ExpectedPluginModeProvider {
override fun setUp() {
super.setUp()
ConfigLibraryUtil.configureKotlinRuntime(myFixture.module)

View File

@@ -3,8 +3,9 @@ package com.intellij.execution.junit.kotlin.codeInspection
import com.intellij.junit.testFramework.JUnit5AssertionsConverterInspectionTestBase
import com.intellij.jvm.analysis.testFramework.JvmLanguage
import org.jetbrains.kotlin.idea.test.ExpectedPluginModeProvider
class KotlinJUnit5AssertionsConverterInspectionTest : JUnit5AssertionsConverterInspectionTestBase() {
abstract class KotlinJUnit5AssertionsConverterInspectionTest : JUnit5AssertionsConverterInspectionTestBase(), ExpectedPluginModeProvider {
fun `test AssertArrayEquals`() {
myFixture.testQuickFix(
JvmLanguage.KOTLIN, """

View File

@@ -3,8 +3,9 @@ package com.intellij.execution.junit.kotlin.codeInspection
import com.intellij.junit.testFramework.JUnit5ConverterInspectionTestBase
import com.intellij.jvm.analysis.testFramework.JvmLanguage
import org.jetbrains.kotlin.idea.test.ExpectedPluginModeProvider
class KotlinJUnit5ConverterInspectionTest : JUnit5ConverterInspectionTestBase() {
abstract class KotlinJUnit5ConverterInspectionTest : JUnit5ConverterInspectionTestBase(), ExpectedPluginModeProvider {
fun `test qualified conversion`() {
myFixture.testQuickFix(
JvmLanguage.KOTLIN, """

View File

@@ -3,8 +3,9 @@ package com.intellij.execution.junit.kotlin.codeInspection
import com.intellij.junit.testFramework.JUnitAssertEqualsMayBeAssertSameInspectionTestBase
import com.intellij.jvm.analysis.testFramework.JvmLanguage
import org.jetbrains.kotlin.idea.test.ExpectedPluginModeProvider
class KotlinJUnitAssertEqualsMayBeAssertSameInspectionTest : JUnitAssertEqualsMayBeAssertSameInspectionTestBase() {
abstract class KotlinJUnitAssertEqualsMayBeAssertSameInspectionTest : JUnitAssertEqualsMayBeAssertSameInspectionTestBase(), ExpectedPluginModeProvider {
fun `test JUnit 3 highlighting`() {
myFixture.testHighlighting(
JvmLanguage.KOTLIN, """

View File

@@ -3,8 +3,9 @@ package com.intellij.execution.junit.kotlin.codeInspection
import com.intellij.junit.testFramework.JUnitAssertEqualsOnArrayInspectionTestBase
import com.intellij.jvm.analysis.testFramework.JvmLanguage
import org.jetbrains.kotlin.idea.test.ExpectedPluginModeProvider
class KotlinJUnitAssertEqualsOnArrayInspectionTest : JUnitAssertEqualsOnArrayInspectionTestBase() {
abstract class KotlinJUnitAssertEqualsOnArrayInspectionTest : JUnitAssertEqualsOnArrayInspectionTestBase(), ExpectedPluginModeProvider {
fun `test highlighting`() {
myFixture.testHighlighting(
JvmLanguage.KOTLIN, """

View File

@@ -3,8 +3,9 @@ package com.intellij.execution.junit.kotlin.codeInspection
import com.intellij.junit.testFramework.JUnitIgnoredTestInspectionTestBase
import com.intellij.jvm.analysis.testFramework.JvmLanguage
import org.jetbrains.kotlin.idea.test.ExpectedPluginModeProvider
class KotlinJUnitIgnoredTestInspectionTest : JUnitIgnoredTestInspectionTestBase() {
abstract class KotlinJUnitIgnoredTestInspectionTest : JUnitIgnoredTestInspectionTestBase(), ExpectedPluginModeProvider {
fun `test JUnit 4 @Ignore`() {
myFixture.testHighlighting(
JvmLanguage.KOTLIN, """

View File

@@ -3,8 +3,9 @@ package com.intellij.execution.junit.kotlin.codeInspection
import com.intellij.junit.testFramework.JUnitMixedFrameworkInspectionTestBase
import com.intellij.jvm.analysis.testFramework.JvmLanguage
import org.jetbrains.kotlin.idea.test.ExpectedPluginModeProvider
class KotlinJUnitMixedFrameworkInspectionTest : JUnitMixedFrameworkInspectionTestBase() {
abstract class KotlinJUnitMixedFrameworkInspectionTest : JUnitMixedFrameworkInspectionTestBase(), ExpectedPluginModeProvider {
fun `test no highlighting`() {
myFixture.testHighlighting(
JvmLanguage.KOTLIN, """

View File

@@ -11,9 +11,10 @@ import com.intellij.psi.PsiMethod
import com.intellij.testFramework.LightProjectDescriptor
import com.intellij.testFramework.PsiTestUtil
import com.intellij.util.PathUtil
import org.jetbrains.kotlin.idea.test.ExpectedPluginModeProvider
import java.io.File
class KotlinJUnitParameterizedSourceGoToRelatedTest : JUnitParameterizedSourceGoToRelatedTestBase() {
abstract class KotlinJUnitParameterizedSourceGoToRelatedTest : JUnitParameterizedSourceGoToRelatedTestBase(), ExpectedPluginModeProvider {
override fun getProjectDescriptor(): LightProjectDescriptor = object : JUnitProjectDescriptor(LanguageLevel.HIGHEST) {
override fun configureModule(module: Module, model: ModifiableRootModel, contentEntry: ContentEntry) {
super.configureModule(module, model, contentEntry)

View File

@@ -3,8 +3,9 @@ package com.intellij.execution.junit.kotlin.codeInspection
import com.intellij.junit.testFramework.TestCaseWithMultipleRunnersInspectionTestBase
import com.intellij.jvm.analysis.testFramework.JvmLanguage
import org.jetbrains.kotlin.idea.test.ExpectedPluginModeProvider
class KotlinTestCaseWithMultipleRunnersInspectionTest : TestCaseWithMultipleRunnersInspectionTestBase() {
abstract class KotlinTestCaseWithMultipleRunnersInspectionTest : TestCaseWithMultipleRunnersInspectionTestBase(), ExpectedPluginModeProvider {
fun `test parent annotation`() {
myFixture.addClass("""
@org.junit.runner.RunWith(org.junit.runners.Suite.class)

View File

@@ -4,8 +4,9 @@ package com.intellij.execution.junit.kotlin.codeInspection.deadCode
import com.intellij.junit.testFramework.JUnit5ImplicitUsageProviderTestBase
import com.intellij.jvm.analysis.testFramework.JvmLanguage
import org.jetbrains.kotlin.idea.test.ConfigLibraryUtil
import org.jetbrains.kotlin.idea.test.ExpectedPluginModeProvider
class KotlinJUnit5ImplicitUsageProviderTest : JUnit5ImplicitUsageProviderTestBase() {
abstract class KotlinJUnit5ImplicitUsageProviderTest : JUnit5ImplicitUsageProviderTestBase(), ExpectedPluginModeProvider {
override fun setUp() {
super.setUp()
ConfigLibraryUtil.configureKotlinRuntime(myFixture.module)

View File

@@ -57,5 +57,6 @@
<orderEntry type="module" module-name="kotlin.gradle.gradle-java.tests.k2" />
<orderEntry type="module" module-name="kotlin.k2.lombok.tests" />
<orderEntry type="module" module-name="kotlin.base.project-structure" scope="RUNTIME" />
<orderEntry type="module" module-name="intellij.junit.kotlin.tests.k2" scope="RUNTIME" />
</component>
</module>

View File

@@ -9,15 +9,14 @@
<orderEntry type="module" module-name="kotlin.plugin.k1" scope="TEST" />
<orderEntry type="module" module-name="intellij.platform.core" scope="RUNTIME" />
<orderEntry type="module" module-name="intellij.jvm.analysis.kotlin.tests" scope="RUNTIME" />
<orderEntry type="module" module-name="intellij.junit.kotlin.tests" scope="RUNTIME" />
<orderEntry type="module" module-name="kotlin.base.test" scope="RUNTIME" />
<orderEntry type="module" module-name="kotlin.base.code-insight" scope="RUNTIME" />
<orderEntry type="module" module-name="kotlin.base.plugin" scope="RUNTIME" />
<orderEntry type="module" module-name="kotlin.base.analysis.tests" scope="RUNTIME" />
<orderEntry type="module" module-name="kotlin.core.tests" scope="RUNTIME" />
<orderEntry type="module" module-name="kotlin.idea.tests" scope="RUNTIME" />
<orderEntry type="module" module-name="kotlin.native.tests" scope="RUNTIME" />
<orderEntry type="module" module-name="kotlin.jvm-debugger.eval4j" scope="RUNTIME" />
<orderEntry type="module" module-name="kotlin.native.tests" scope="RUNTIME" />
<orderEntry type="module" module-name="kotlin.jvm-debugger.test" scope="RUNTIME" />
<orderEntry type="module" module-name="kotlin.maven.tests" scope="RUNTIME" />
<orderEntry type="module" module-name="kotlin.gradle.gradle-tooling" scope="RUNTIME" />
@@ -74,5 +73,6 @@
<orderEntry type="module" module-name="kotlin.highlighting.shared.tests" scope="RUNTIME" />
<orderEntry type="module" module-name="kotlin.gradle.gradle-java.tests.shared" scope="RUNTIME" />
<orderEntry type="module" module-name="kotlin.base.project-structure" scope="RUNTIME" />
<orderEntry type="module" module-name="intellij.junit.kotlin.tests.k1" scope="RUNTIME" />
</component>
</module>