diff --git a/.idea/modules.xml b/.idea/modules.xml
index b3529066c10d..1a438b340b1a 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -474,7 +474,9 @@
-
+
+
+
diff --git a/plugins/junit/kotlin-tests-k1/intellij.junit.kotlin.tests.k1.iml b/plugins/junit/kotlin-tests-k1/intellij.junit.kotlin.tests.k1.iml
new file mode 100644
index 000000000000..b392fa18bfd5
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k1/intellij.junit.kotlin.tests.k1.iml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/K1JUnit5AcceptanceTest.kt b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/K1JUnit5AcceptanceTest.kt
new file mode 100644
index 000000000000..be5f41016e74
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/K1JUnit5AcceptanceTest.kt
@@ -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
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/K1JUnit5ReferenceContributorTest.kt b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/K1JUnit5ReferenceContributorTest.kt
new file mode 100644
index 000000000000..5e5664ce63e6
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/K1JUnit5ReferenceContributorTest.kt
@@ -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
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/K1PluginSanityTest.kt b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/K1PluginSanityTest.kt
new file mode 100644
index 000000000000..4632abe0c4c7
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/K1PluginSanityTest.kt
@@ -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())
+ }
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1HamcrestAssertionsConverterInspectionTest.kt b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1HamcrestAssertionsConverterInspectionTest.kt
new file mode 100644
index 000000000000..95436ea05cfb
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1HamcrestAssertionsConverterInspectionTest.kt
@@ -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
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1JUnit3SuperTearDownInspectionTest.kt b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1JUnit3SuperTearDownInspectionTest.kt
new file mode 100644
index 000000000000..b73773388000
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1JUnit3SuperTearDownInspectionTest.kt
@@ -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
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1JUnit4ConverterInspectionTest.kt b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1JUnit4ConverterInspectionTest.kt
new file mode 100644
index 000000000000..a3a064f7d52f
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1JUnit4ConverterInspectionTest.kt
@@ -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
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1JUnit5AssertionsConverterInspectionTest.kt b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1JUnit5AssertionsConverterInspectionTest.kt
new file mode 100644
index 000000000000..45ba436a8179
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1JUnit5AssertionsConverterInspectionTest.kt
@@ -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
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1JUnit5ConverterInspectionTest.kt b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1JUnit5ConverterInspectionTest.kt
new file mode 100644
index 000000000000..909e63d45304
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1JUnit5ConverterInspectionTest.kt
@@ -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
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1JUnitAssertEqualsMayBeAssertSameInspectionTest.kt b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1JUnitAssertEqualsMayBeAssertSameInspectionTest.kt
new file mode 100644
index 000000000000..d3abadffeef6
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1JUnitAssertEqualsMayBeAssertSameInspectionTest.kt
@@ -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
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1JUnitAssertEqualsOnArrayInspectionTest.kt b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1JUnitAssertEqualsOnArrayInspectionTest.kt
new file mode 100644
index 000000000000..cbfe219b2d30
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1JUnitAssertEqualsOnArrayInspectionTest.kt
@@ -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
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1JUnitIgnoredTestInspectionTest.kt b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1JUnitIgnoredTestInspectionTest.kt
new file mode 100644
index 000000000000..04906666345e
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1JUnitIgnoredTestInspectionTest.kt
@@ -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
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1JUnitMalformedDeclarationInspectionTest.kt b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1JUnitMalformedDeclarationInspectionTest.kt
new file mode 100644
index 000000000000..36d1e2a4dfd7
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1JUnitMalformedDeclarationInspectionTest.kt
@@ -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
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1JUnitMixedFrameworkInspectionTest.kt b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1JUnitMixedFrameworkInspectionTest.kt
new file mode 100644
index 000000000000..655846289b54
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1JUnitMixedFrameworkInspectionTest.kt
@@ -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
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1JUnitParameterizedSourceGoToRelatedTest.kt b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1JUnitParameterizedSourceGoToRelatedTest.kt
new file mode 100644
index 000000000000..8055655caf40
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1JUnitParameterizedSourceGoToRelatedTest.kt
@@ -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
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1TestCaseWithMultipleRunnersInspectionTest.kt b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1TestCaseWithMultipleRunnersInspectionTest.kt
new file mode 100644
index 000000000000..9a4225f3a561
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/K1TestCaseWithMultipleRunnersInspectionTest.kt
@@ -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
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/deadCode/K1JUnit5ImplicitUsageProviderTest.kt b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/deadCode/K1JUnit5ImplicitUsageProviderTest.kt
new file mode 100644
index 000000000000..898eaab1c950
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k1/test/com/intellij/execution/junit/kotlin/codeInspection/deadCode/K1JUnit5ImplicitUsageProviderTest.kt
@@ -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
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k2/intellij.junit.kotlin.tests.k2.iml b/plugins/junit/kotlin-tests-k2/intellij.junit.kotlin.tests.k2.iml
new file mode 100644
index 000000000000..f4fb5e8e8d32
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k2/intellij.junit.kotlin.tests.k2.iml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/K2JUnit5AcceptanceTest.kt b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/K2JUnit5AcceptanceTest.kt
new file mode 100644
index 000000000000..0101210f3149
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/K2JUnit5AcceptanceTest.kt
@@ -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
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/K2JUnit5ReferenceContributorTest.kt b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/K2JUnit5ReferenceContributorTest.kt
new file mode 100644
index 000000000000..37c9aceef1e3
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/K2JUnit5ReferenceContributorTest.kt
@@ -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
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/K2PluginSanityTest.kt b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/K2PluginSanityTest.kt
new file mode 100644
index 000000000000..6a3ddeec82bd
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/K2PluginSanityTest.kt
@@ -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())
+ }
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2HamcrestAssertionsConverterInspectionTest.kt b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2HamcrestAssertionsConverterInspectionTest.kt
new file mode 100644
index 000000000000..730c931c7efa
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2HamcrestAssertionsConverterInspectionTest.kt
@@ -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
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2JUnit3SuperTearDownInspectionTest.kt b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2JUnit3SuperTearDownInspectionTest.kt
new file mode 100644
index 000000000000..ff027a9b101b
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2JUnit3SuperTearDownInspectionTest.kt
@@ -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
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2JUnit4ConverterInspectionTest.kt b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2JUnit4ConverterInspectionTest.kt
new file mode 100644
index 000000000000..90c588961f0f
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2JUnit4ConverterInspectionTest.kt
@@ -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
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2JUnit5AssertionsConverterInspectionTest.kt b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2JUnit5AssertionsConverterInspectionTest.kt
new file mode 100644
index 000000000000..545f1a66fa89
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2JUnit5AssertionsConverterInspectionTest.kt
@@ -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
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2JUnit5ConverterInspectionTest.kt b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2JUnit5ConverterInspectionTest.kt
new file mode 100644
index 000000000000..0aa37621dd22
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2JUnit5ConverterInspectionTest.kt
@@ -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
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2JUnitAssertEqualsMayBeAssertSameInspectionTest.kt b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2JUnitAssertEqualsMayBeAssertSameInspectionTest.kt
new file mode 100644
index 000000000000..e61dfe7a28b7
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2JUnitAssertEqualsMayBeAssertSameInspectionTest.kt
@@ -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
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2JUnitAssertEqualsOnArrayInspectionTest.kt b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2JUnitAssertEqualsOnArrayInspectionTest.kt
new file mode 100644
index 000000000000..16c253588ba9
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2JUnitAssertEqualsOnArrayInspectionTest.kt
@@ -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
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2JUnitIgnoredTestInspectionTest.kt b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2JUnitIgnoredTestInspectionTest.kt
new file mode 100644
index 000000000000..09a971325abd
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2JUnitIgnoredTestInspectionTest.kt
@@ -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
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2JUnitMalformedDeclarationInspectionTest.kt b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2JUnitMalformedDeclarationInspectionTest.kt
new file mode 100644
index 000000000000..7733b00b0f39
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2JUnitMalformedDeclarationInspectionTest.kt
@@ -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
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2JUnitMixedFrameworkInspectionTest.kt b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2JUnitMixedFrameworkInspectionTest.kt
new file mode 100644
index 000000000000..b436cf89bc98
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2JUnitMixedFrameworkInspectionTest.kt
@@ -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
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2JUnitParameterizedSourceGoToRelatedTest.kt b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2JUnitParameterizedSourceGoToRelatedTest.kt
new file mode 100644
index 000000000000..0aa3f756216e
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2JUnitParameterizedSourceGoToRelatedTest.kt
@@ -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
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2TestCaseWithMultipleRunnersInspectionTest.kt b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2TestCaseWithMultipleRunnersInspectionTest.kt
new file mode 100644
index 000000000000..a82420727a49
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/K2TestCaseWithMultipleRunnersInspectionTest.kt
@@ -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
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/deadCode/K2JUnit5ImplicitUsageProviderTest.kt b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/deadCode/K2JUnit5ImplicitUsageProviderTest.kt
new file mode 100644
index 000000000000..9b00a1d3e75d
--- /dev/null
+++ b/plugins/junit/kotlin-tests-k2/test/com/intellij/execution/junit/kotlin/codeInspection/deadCode/K2JUnit5ImplicitUsageProviderTest.kt
@@ -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
+}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests/intellij.junit.kotlin.tests.iml b/plugins/junit/kotlin-tests-shared/intellij.junit.kotlin.tests.shared.iml
similarity index 79%
rename from plugins/junit/kotlin-tests/intellij.junit.kotlin.tests.iml
rename to plugins/junit/kotlin-tests-shared/intellij.junit.kotlin.tests.shared.iml
index c85e29a70496..a332cb01fa6b 100644
--- a/plugins/junit/kotlin-tests/intellij.junit.kotlin.tests.iml
+++ b/plugins/junit/kotlin-tests-shared/intellij.junit.kotlin.tests.shared.iml
@@ -7,11 +7,10 @@
-
-
-
-
-
-
+
+
+
+
+
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/KotlinJUnit5AcceptanceTest.kt b/plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/KotlinJUnit5AcceptanceTest.kt
similarity index 65%
rename from plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/KotlinJUnit5AcceptanceTest.kt
rename to plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/KotlinJUnit5AcceptanceTest.kt
index a8b04dc60606..5600139ff736 100644
--- a/plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/KotlinJUnit5AcceptanceTest.kt
+++ b/plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/KotlinJUnit5AcceptanceTest.kt
@@ -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 with (in name)`() {}
diff --git a/plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/KotlinJUnit5ReferenceContributorTest.kt b/plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/KotlinJUnit5ReferenceContributorTest.kt
similarity index 89%
rename from plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/KotlinJUnit5ReferenceContributorTest.kt
rename to plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/KotlinJUnit5ReferenceContributorTest.kt
index 7e6c977ab184..67e01fe3cda2 100644
--- a/plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/KotlinJUnit5ReferenceContributorTest.kt
+++ b/plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/KotlinJUnit5ReferenceContributorTest.kt
@@ -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 }
diff --git a/plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinHamcrestAssertionsConverterInspectionTest.kt b/plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinHamcrestAssertionsConverterInspectionTest.kt
similarity index 97%
rename from plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinHamcrestAssertionsConverterInspectionTest.kt
rename to plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinHamcrestAssertionsConverterInspectionTest.kt
index 806ceef67762..2887b5d5f14e 100644
--- a/plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinHamcrestAssertionsConverterInspectionTest.kt
+++ b/plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinHamcrestAssertionsConverterInspectionTest.kt
@@ -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)
diff --git a/plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnit3SuperTearDownInspectionTest.kt b/plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnit3SuperTearDownInspectionTest.kt
similarity index 88%
rename from plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnit3SuperTearDownInspectionTest.kt
rename to plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnit3SuperTearDownInspectionTest.kt
index 8d1b94c96662..f147014baad6 100644
--- a/plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnit3SuperTearDownInspectionTest.kt
+++ b/plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnit3SuperTearDownInspectionTest.kt
@@ -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, """
diff --git a/plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnit4ConverterInspectionTest.kt b/plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnit4ConverterInspectionTest.kt
similarity index 98%
rename from plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnit4ConverterInspectionTest.kt
rename to plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnit4ConverterInspectionTest.kt
index 6cab0a6d69a5..75faee06a1d0 100644
--- a/plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnit4ConverterInspectionTest.kt
+++ b/plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnit4ConverterInspectionTest.kt
@@ -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)
diff --git a/plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnit5AssertionsConverterInspectionTest.kt b/plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnit5AssertionsConverterInspectionTest.kt
similarity index 96%
rename from plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnit5AssertionsConverterInspectionTest.kt
rename to plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnit5AssertionsConverterInspectionTest.kt
index 5f35e9a995d6..a23e2dbaddc7 100644
--- a/plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnit5AssertionsConverterInspectionTest.kt
+++ b/plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnit5AssertionsConverterInspectionTest.kt
@@ -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, """
diff --git a/plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnit5ConverterInspectionTest.kt b/plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnit5ConverterInspectionTest.kt
similarity index 95%
rename from plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnit5ConverterInspectionTest.kt
rename to plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnit5ConverterInspectionTest.kt
index cee39826a45c..517a7050352e 100644
--- a/plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnit5ConverterInspectionTest.kt
+++ b/plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnit5ConverterInspectionTest.kt
@@ -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, """
diff --git a/plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitAssertEqualsMayBeAssertSameInspectionTest.kt b/plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitAssertEqualsMayBeAssertSameInspectionTest.kt
similarity index 89%
rename from plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitAssertEqualsMayBeAssertSameInspectionTest.kt
rename to plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitAssertEqualsMayBeAssertSameInspectionTest.kt
index 2b6ffd2395bb..c664d38391c9 100644
--- a/plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitAssertEqualsMayBeAssertSameInspectionTest.kt
+++ b/plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitAssertEqualsMayBeAssertSameInspectionTest.kt
@@ -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, """
diff --git a/plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitAssertEqualsOnArrayInspectionTest.kt b/plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitAssertEqualsOnArrayInspectionTest.kt
similarity index 87%
rename from plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitAssertEqualsOnArrayInspectionTest.kt
rename to plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitAssertEqualsOnArrayInspectionTest.kt
index 0ce901f5e0ac..8dee2c3176ae 100644
--- a/plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitAssertEqualsOnArrayInspectionTest.kt
+++ b/plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitAssertEqualsOnArrayInspectionTest.kt
@@ -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, """
diff --git a/plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitIgnoredTestInspectionTest.kt b/plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitIgnoredTestInspectionTest.kt
similarity index 88%
rename from plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitIgnoredTestInspectionTest.kt
rename to plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitIgnoredTestInspectionTest.kt
index 06822de2c220..625d985b5dad 100644
--- a/plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitIgnoredTestInspectionTest.kt
+++ b/plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitIgnoredTestInspectionTest.kt
@@ -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, """
diff --git a/plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitMalformedDeclarationInspectionTest.kt b/plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitMalformedDeclarationInspectionTest.kt
similarity index 76%
rename from plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitMalformedDeclarationInspectionTest.kt
rename to plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitMalformedDeclarationInspectionTest.kt
index 08e52198b181..5e11fa935924 100644
--- a/plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitMalformedDeclarationInspectionTest.kt
+++ b/plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitMalformedDeclarationInspectionTest.kt
@@ -4,24 +4,21 @@ package com.intellij.execution.junit.kotlin.codeInspection
import com.intellij.junit.testFramework.JUnitMalformedDeclarationInspectionTestBase
import com.intellij.jvm.analysis.testFramework.JvmLanguage
import org.jetbrains.kotlin.idea.test.ConfigLibraryUtil
-import org.junit.experimental.runners.Enclosed
-import org.junit.runner.RunWith
+import org.jetbrains.kotlin.idea.test.ExpectedPluginModeProvider
-@RunWith(Enclosed::class)
-class KotlinJUnitMalformedDeclarationInspectionTest {
- abstract class KotlinJUnitMalformedDeclarationInspectionTestBase(
- junit5Version: String
- ) : JUnitMalformedDeclarationInspectionTestBase(junit5Version) {
- override fun setUp() {
- super.setUp()
- ConfigLibraryUtil.configureKotlinRuntime(myFixture.module)
- }
+abstract class KotlinJUnitMalformedDeclarationInspectionTestBase(
+ junit5Version: String
+) : JUnitMalformedDeclarationInspectionTestBase(junit5Version), ExpectedPluginModeProvider {
+ override fun setUp() {
+ super.setUp()
+ ConfigLibraryUtil.configureKotlinRuntime(myFixture.module)
}
+}
- class V57 : KotlinJUnitMalformedDeclarationInspectionTestBase(JUNIT5_7_0) {
- fun `test malformed extension make public quickfix`() {
- myFixture.testQuickFix(
- JvmLanguage.KOTLIN, """
+abstract class KotlinJUnitMalformedDeclarationInspectionTestV57 : KotlinJUnitMalformedDeclarationInspectionTestBase(JUNIT5_7_0) {
+ fun `test malformed extension make public quickfix`() {
+ myFixture.testQuickFix(
+ JvmLanguage.KOTLIN, """
class A {
@org.junit.jupiter.api.extension.RegisterExtension
val myRule5 = Rule5()
@@ -35,14 +32,14 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
class Rule5 { }
}
""".trimIndent(), "Fix 'myRule5' field signature", testPreview = true)
- }
}
+}
- class Latest : KotlinJUnitMalformedDeclarationInspectionTestBase(JUNIT5_LATEST) {
- /* Malformed extensions */
- fun `test malformed extension no highlighting`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+abstract class KotlinJUnitMalformedDeclarationInspectionTestLatest : KotlinJUnitMalformedDeclarationInspectionTestBase(JUNIT5_LATEST) {
+ /* Malformed extensions */
+ fun `test malformed extension no highlighting`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class A {
@JvmField
@org.junit.jupiter.api.extension.RegisterExtension
@@ -50,10 +47,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
class Rule5 : org.junit.jupiter.api.extension.Extension { }
}
""".trimIndent())
- }
- fun `test malformed extension subtype highlighting`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed extension subtype highlighting`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class A {
@JvmField
@org.junit.jupiter.api.extension.RegisterExtension
@@ -61,21 +58,21 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
class Rule5 { }
}
""".trimIndent())
- }
+ }
- /* Malformed nested class */
- fun `test malformed nested no highlighting`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ /* Malformed nested class */
+ fun `test malformed nested no highlighting`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class A {
@org.junit.jupiter.api.Nested
inner class B { }
}
""".trimIndent())
- }
- fun `test malformed nested abstract class no highlighting`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed nested abstract class no highlighting`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class A {
abstract class B {
@org.junit.jupiter.api.Test
@@ -83,10 +80,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent())
- }
- fun `test malformed nested interface no highlighting`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed nested interface no highlighting`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class A {
interface B {
@org.junit.jupiter.api.Test
@@ -94,19 +91,19 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent())
- }
- fun `test malformed nested class highlighting`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed nested class highlighting`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class A {
@org.junit.jupiter.api.Nested
class B { }
}
""".trimIndent())
- }
- fun `test malformed nested class quickfix`() {
- myFixture.testQuickFix(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed nested class quickfix`() {
+ myFixture.testQuickFix(
+ JvmLanguage.KOTLIN, """
class A {
@org.junit.jupiter.api.Nested
class B { }
@@ -117,10 +114,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
inner class B { }
}
""".trimIndent(), "Fix 'B' class signature", testPreview = true)
- }
- fun `test highlighting non executable JUnit 4 nested class`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test highlighting non executable JUnit 4 nested class`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class A {
class B {
@org.junit.Test
@@ -128,10 +125,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent())
- }
- fun `test highlighting executable JUnit 4 because enclosing is abstract`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test highlighting executable JUnit 4 because enclosing is abstract`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
abstract class A {
class B {
@org.junit.Test
@@ -139,10 +136,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent())
- }
- fun `test highlighting non executable JUnit 4 nested class top level abstract`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test highlighting non executable JUnit 4 nested class top level abstract`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
abstract class A {
class B {
class C {
@@ -152,10 +149,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent())
- }
- fun `test quickfix no nested annotation in JUnit 4`() {
- myFixture.testQuickFix(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test quickfix no nested annotation in JUnit 4`() {
+ myFixture.testQuickFix(
+ JvmLanguage.KOTLIN, """
class A {
class B {
@org.junit.Test
@@ -174,10 +171,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent(), "Fix class signatures", testPreview = true)
- }
- fun `test highlighting no nested annotation in JUnit 5`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test highlighting no nested annotation in JUnit 5`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class A {
class B {
@org.junit.jupiter.api.Test
@@ -185,10 +182,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent())
- }
- fun `test quickfix no nested annotation in JUnit 5`() {
- myFixture.testQuickFix(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test quickfix no nested annotation in JUnit 5`() {
+ myFixture.testQuickFix(
+ JvmLanguage.KOTLIN, """
class A {
inner class B {
@org.junit.jupiter.api.Test
@@ -206,12 +203,12 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent(), "Fix 'B' class signature", testPreview = true)
- }
+ }
- /* Malformed parameterized */
- fun `test malformed parameterized no highlighting`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ /* Malformed parameterized */
+ fun `test malformed parameterized no highlighting`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
enum class TestEnum { FIRST, SECOND, THIRD }
class ValueSourcesTest {
@@ -385,11 +382,11 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
fun testFooMap(input: Map) {}
}
""".trimIndent()
- )
- }
- fun `test malformed parameterized value source wrong type`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ )
+ }
+ fun `test malformed parameterized value source wrong type`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class ValueSourcesTest {
@org.junit.jupiter.params.ParameterizedTest
@org.junit.jupiter.params.provider.ValueSource(booleans = [
@@ -398,10 +395,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
fun testWithBooleanSource(argument: Int) { }
}
""".trimIndent())
- }
- fun `test malformed parameterized enum source wrong type`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed parameterized enum source wrong type`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
enum class TestEnum { FIRST, SECOND, THIRD }
class ValueSourcesTest {
@org.junit.jupiter.params.ParameterizedTest
@@ -409,10 +406,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
fun testWithEnumSource(i: Int) { }
}
""".trimIndent())
- }
- fun `test malformed parameterized multiple types`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed parameterized multiple types`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class ValueSourcesTest {
@org.junit.jupiter.params.ParameterizedTest
@org.junit.jupiter.params.provider.ValueSource(
@@ -421,30 +418,30 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
fun testWithMultipleValues(i: Int) { }
}
""".trimIndent())
- }
- fun `test malformed parameterized no value defined`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed parameterized no value defined`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class ValueSourcesTest {
@org.junit.jupiter.params.ParameterizedTest
@org.junit.jupiter.params.provider.ValueSource()
fun testWithNoValues(i: Int) { }
}
""".trimIndent())
- }
- fun `test malformed parameterized no argument defined`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed parameterized no argument defined`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class ValueSourcesTest {
@org.junit.jupiter.params.ParameterizedTest
@org.junit.jupiter.params.provider.NullSource
fun testWithNullSrcNoParam() {}
}
""".trimIndent())
- }
+ }
- fun `test method source in another class`() {
- myFixture.addFileToProject("SampleTest.kt", """"
+ fun `test method source in another class`() {
+ myFixture.addFileToProject("SampleTest.kt", """"
open class SampleTest {
companion object {
@kotlin.jvm.JvmStatic
@@ -455,8 +452,8 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
}""".trimIndent())
- myFixture.testHighlighting(
- JvmLanguage.JAVA, """
+ myFixture.testHighlighting(
+ JvmLanguage.JAVA, """
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
@@ -466,21 +463,21 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
void testSquares(int input, int expected) {}
}
""".trimIndent())
- }
+ }
- fun `test malformed parameterized value source multiple parameters`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ fun `test malformed parameterized value source multiple parameters`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class ValueSourcesTest {
@org.junit.jupiter.params.ParameterizedTest
@org.junit.jupiter.params.provider.ValueSource(strings = ["foo"])
fun testWithMultipleParams(argument: String, i: Int) { }
}
""".trimIndent())
- }
- fun `test malformed parameterized and test annotation defined`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed parameterized and test annotation defined`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class ValueSourcesTest {
@org.junit.jupiter.params.ParameterizedTest
@org.junit.jupiter.params.provider.ValueSource(ints = [1])
@@ -488,30 +485,30 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
fun testWithTestAnnotation(i: Int) { }
}
""".trimIndent())
- }
- fun `test malformed parameterized and value source defined`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed parameterized and value source defined`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class ValueSourcesTest {
@org.junit.jupiter.params.provider.ValueSource(ints = [1])
@org.junit.jupiter.api.Test
fun testWithTestAnnotationNoParameterized(i: Int) { }
}
""".trimIndent())
- }
- fun `test malformed parameterized no argument source provided`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed parameterized no argument source provided`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class ValueSourcesTest {
@org.junit.jupiter.params.ParameterizedTest
@org.junit.jupiter.params.provider.ArgumentsSources()
fun emptyArgs(param: String) { }
}
""".trimIndent())
- }
- fun `test malformed parameterized method source should be static`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed parameterized method source should be static`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class ValueSourcesTest {
@org.junit.jupiter.params.ParameterizedTest
@org.junit.jupiter.params.provider.MethodSource("a")
@@ -520,10 +517,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
fun a(): Array { return arrayOf("a", "b") }
}
""".trimIndent())
- }
- fun `test malformed parameterized method source should have no parameters`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed parameterized method source should have no parameters`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class ValueSourcesTest {
@org.junit.jupiter.params.ParameterizedTest
@org.junit.jupiter.params.provider.MethodSource("a")
@@ -535,11 +532,11 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent())
- }
+ }
- fun `test malformed parameterized method source wrong return type`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ fun `test malformed parameterized method source wrong return type`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class ValueSourcesTest {
@org.junit.jupiter.params.ParameterizedTest
@org.junit.jupiter.params.provider.MethodSource(
@@ -553,20 +550,20 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent())
- }
- fun `test malformed parameterized method source not found`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed parameterized method source not found`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class ValueSourcesTest {
@org.junit.jupiter.params.ParameterizedTest
@org.junit.jupiter.params.provider.MethodSource("a")
fun foo(param: String) { }
}
""".trimIndent())
- }
- fun `test malformed parameterized enum source unresolvable entry`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed parameterized enum source unresolvable entry`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class EnumSourceTest {
private enum class Foo { AAA, AAX, BBB }
@@ -586,10 +583,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
fun invalidDefault() { }
}
""".trimIndent())
- }
- fun `test malformed parameterized add test instance quick fix`() {
- myFixture.testQuickFix(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed parameterized add test instance quick fix`() {
+ myFixture.testQuickFix(
+ JvmLanguage.KOTLIN, """
import org.junit.jupiter.params.ParameterizedTest
import org.junit.jupiter.params.provider.Arguments
import org.junit.jupiter.params.provider.MethodSource
@@ -620,10 +617,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
fun foo(param: String) { }
}
""".trimIndent(), "Annotate as @TestInstance", testPreview = true)
- }
- fun `test malformed parameterized introduce method source quick fix`() {
- myFixture.testQuickFix(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed parameterized introduce method source quick fix`() {
+ myFixture.testQuickFix(
+ JvmLanguage.KOTLIN, """
import org.junit.jupiter.params.ParameterizedTest
import org.junit.jupiter.params.provider.MethodSource
@@ -651,26 +648,26 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent(), "Add method 'parameters' to 'Test'") // TODO make createMethod preview work
- }
- fun `test malformed parameterized create csv source quick fix`() {
- val file = myFixture.addFileToProject("CsvFile.kt", """
+ }
+ fun `test malformed parameterized create csv source quick fix`() {
+ val file = myFixture.addFileToProject("CsvFile.kt", """
class CsvFile {
@org.junit.jupiter.params.ParameterizedTest
@org.junit.jupiter.params.provider.CsvFileSource(resources = "two-column.txt")
fun testWithCsvFileSource(first: String, second: Int) { }
}
""".trimIndent())
- myFixture.configureFromExistingVirtualFile(file.virtualFile)
- val intention = myFixture.findSingleIntention("Create file two-column.txt")
- assertNotNull(intention)
- myFixture.launchAction(intention)
- assertNotNull(myFixture.findFileInTempDir("two-column.txt"))
- }
+ myFixture.configureFromExistingVirtualFile(file.virtualFile)
+ val intention = myFixture.findSingleIntention("Create file two-column.txt")
+ assertNotNull(intention)
+ myFixture.launchAction(intention)
+ assertNotNull(myFixture.findFileInTempDir("two-column.txt"))
+ }
- /* Malformed repeated test*/
- fun `test malformed repeated test no highlighting`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ /* Malformed repeated test*/
+ fun `test malformed repeated test no highlighting`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
object WithRepeated {
@org.junit.jupiter.api.RepeatedTest(1)
fun repeatedTestNoParams() { }
@@ -709,20 +706,20 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
fun afterEach(testReporter: org.junit.jupiter.api.TestReporter, repetitionInfo: org.junit.jupiter.api.RepetitionInfo) {}
}
""".trimIndent())
- }
- fun `test malformed repeated test combination of @Test and @RepeatedTest`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed repeated test combination of @Test and @RepeatedTest`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class WithRepeatedAndTests {
@org.junit.jupiter.api.Test
@org.junit.jupiter.api.RepeatedTest(1)
fun repeatedTestAndTest() { }
}
""".trimIndent())
- }
- fun `test malformed repeated test with injected RepeatedInfo for @Test method`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed repeated test with injected RepeatedInfo for @Test method`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class WithRepeatedInfoAndTest {
@org.junit.jupiter.api.BeforeEach
fun beforeEach(repetitionInfo: org.junit.jupiter.api.RepetitionInfo) { }
@@ -731,10 +728,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
fun nonRepeated(repetitionInfo: org.junit.jupiter.api.RepetitionInfo) { }
}
""".trimIndent() )
- }
- fun `test malformed repeated test with injected RepetitionInfo for @BeforeAll method`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed repeated test with injected RepetitionInfo for @BeforeAll method`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class WithBeforeEach {
companion object {
@JvmStatic
@@ -743,10 +740,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent())
- }
- fun `test malformed repeated test with non-positive repetitions`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed repeated test with non-positive repetitions`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class WithRepeated {
@org.junit.jupiter.api.RepeatedTest(-1)
fun repeatedTestNegative() { }
@@ -755,31 +752,31 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
fun repeatedTestBoundaryZero() { }
}
""".trimIndent())
- }
+ }
- /* Malformed before after */
- fun `test malformed before highlighting`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ /* Malformed before after */
+ fun `test malformed before highlighting`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class MainTest {
@org.junit.Before
fun before(i: Int): String { return "${'$'}i" }
}
""".trimIndent())
- }
- fun `test malformed before each highlighting`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed before each highlighting`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class MainTest {
@org.junit.jupiter.api.BeforeEach
fun beforeEach(i: Int): String { return "" }
}
""".trimIndent())
- }
+ }
- fun `test malformed before each remove private quickfix`() {
- myFixture.testQuickFix(
- JvmLanguage.KOTLIN, """
+ fun `test malformed before each remove private quickfix`() {
+ myFixture.testQuickFix(
+ JvmLanguage.KOTLIN, """
class MainTest {
@org.junit.jupiter.api.BeforeEach
private fun beforeEach() { }
@@ -792,10 +789,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
fun beforeEach(): Unit { }
}
""".trimIndent(), "Fix 'beforeEach' method signature", testPreview = true)
- }
- fun `test malformed before class no highlighting`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed before class no highlighting`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class BeforeClassStatic {
companion object {
@JvmStatic
@@ -868,10 +865,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent())
- }
- fun `test non-malformed with multiple extensions in separate annotations`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test non-malformed with multiple extensions in separate annotations`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class TestNonParameterResolver : org.junit.jupiter.api.extension.Extension { }
class TestParameterResolver : org.junit.jupiter.api.extension.ParameterResolver {
@@ -896,10 +893,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent())
- }
- fun `test non-malformed with multiple extensions in single annotation`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test non-malformed with multiple extensions in single annotation`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class TestNonParameterResolver : org.junit.jupiter.api.extension.Extension { }
class TestParameterResolver : org.junit.jupiter.api.extension.ParameterResolver {
@@ -923,19 +920,19 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent())
- }
- fun `test malformed before class method that is non-static`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed before class method that is non-static`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class MainTest {
@org.junit.BeforeClass
fun beforeClass() { }
}
""".trimIndent())
- }
- fun `test malformed before class method that is not private`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed before class method that is not private`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class MainTest {
companion object {
@JvmStatic
@@ -944,10 +941,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent())
- }
- fun `test malformed before class method that has parameters`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed before class method that has parameters`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class MainTest {
companion object {
@JvmStatic
@@ -956,10 +953,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent())
- }
- fun `test malformed before class method with a non void return type`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed before class method with a non void return type`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class MainTest {
companion object {
@JvmStatic
@@ -968,19 +965,19 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent())
- }
- fun `test malformed before all method that is non-static`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed before all method that is non-static`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class MainTest {
@org.junit.jupiter.api.BeforeAll
fun beforeAll() { }
}
""".trimIndent())
- }
- fun `test malformed before all method that is not private`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed before all method that is not private`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class MainTest {
companion object {
@JvmStatic
@@ -989,10 +986,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent())
- }
- fun `test malformed before all method that has parameters`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed before all method that has parameters`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class MainTest {
companion object {
@JvmStatic
@@ -1001,10 +998,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent())
- }
- fun `test malformed before all method with a non void return type`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed before all method with a non void return type`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class MainTest {
companion object {
@JvmStatic
@@ -1013,10 +1010,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent())
- }
- fun `test malformed before all quickfix`() {
- myFixture.testQuickFix(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed before all quickfix`() {
+ myFixture.testQuickFix(
+ JvmLanguage.KOTLIN, """
import org.junit.jupiter.api.BeforeAll
class MainTest {
@@ -1036,9 +1033,9 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent(), "Fix 'beforeAll' method signature", testPreview = true)
- }
- fun `test no highlighting when automatic registered parameter resolver is found`() {
- myFixture.addFileToProject("com/intellij/testframework/ext/AutomaticExtension.kt", """
+ }
+ fun `test no highlighting when automatic registered parameter resolver is found`() {
+ myFixture.addFileToProject("com/intellij/testframework/ext/AutomaticExtension.kt", """
package com.intellij.testframework.ext
class AutomaticExtension : org.junit.jupiter.api.extension.ParameterResolver {
@@ -1053,17 +1050,17 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
): Any = ""
}
""".trimIndent())
- addAutomaticExtension("com.intellij.testframework.ext.AutomaticExtension")
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ addAutomaticExtension("com.intellij.testframework.ext.AutomaticExtension")
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class MainTest {
@org.junit.jupiter.api.BeforeEach
fun foo(x: Int) { }
}
""".trimIndent())
- }
- fun `test no highlighting when multiple automatic registered parameter resolver is found`() {
- myFixture.addFileToProject("com/intellij/testframework/ext/AutomaticExtension.kt", """
+ }
+ fun `test no highlighting when multiple automatic registered parameter resolver is found`() {
+ myFixture.addFileToProject("com/intellij/testframework/ext/AutomaticExtension.kt", """
package com.intellij.testframework.ext
class NonResolverExtension : org.junit.jupiter.api.extension.Extension { }
@@ -1080,23 +1077,23 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
): Any = ""
}
""".trimIndent())
- addAutomaticExtension("""
+ addAutomaticExtension("""
com.intellij.testframework.ext.NonResolverExtension
com.intellij.testframework.ext.ResolverExtension
""".trimIndent())
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class MainTest {
@org.junit.jupiter.api.BeforeEach
fun foo(x: Int) { }
}
""".trimIndent())
- }
+ }
- /* Malformed datapoint(s) */
- fun `test malformed datapoint no highlighting`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ /* Malformed datapoint(s) */
+ fun `test malformed datapoint no highlighting`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class Test {
companion object {
@JvmField
@@ -1105,20 +1102,20 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent())
- }
- fun `test malformed datapoint non-static highlighting`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed datapoint non-static highlighting`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class Test {
@JvmField
@org.junit.experimental.theories.DataPoint
val f1: Any? = null
}
""".trimIndent())
- }
- fun `test malformed datapoint non-public highlighting`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed datapoint non-public highlighting`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class Test {
companion object {
@JvmStatic
@@ -1127,37 +1124,37 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent())
- }
- fun `test malformed datapoint field highlighting`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed datapoint field highlighting`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class Test {
@org.junit.experimental.theories.DataPoint
private val f1: Any? = null
}
""".trimIndent())
- }
- fun `test malformed datapoint method highlighting`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed datapoint method highlighting`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class Test {
@org.junit.experimental.theories.DataPoint
private fun f1(): Any? = null
}
""".trimIndent())
- }
- fun `test malformed datapoints method highlighting`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed datapoints method highlighting`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class Test {
@org.junit.experimental.theories.DataPoints
private fun f1(): Any? = null
}
""".trimIndent())
- }
- fun `test malformed datapoint make field public quickfix`() {
- myFixture.testQuickFix(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed datapoint make field public quickfix`() {
+ myFixture.testQuickFix(
+ JvmLanguage.KOTLIN, """
class Test {
companion object {
@org.junit.experimental.theories.DataPoint
@@ -1173,10 +1170,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent(), "Fix 'f1' field signature", testPreview = true)
- }
- fun `test malformed datapoint make field public and static quickfix`() {
- myFixture.testQuickFix(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed datapoint make field public and static quickfix`() {
+ myFixture.testQuickFix(
+ JvmLanguage.KOTLIN, """
class Test {
@org.junit.experimental.theories.DataPoint
val f1: Any? = null
@@ -1190,10 +1187,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent(), "Fix 'f1' field signature", testPreview = true)
- }
- fun `test malformed datapoint make method public and static quickfix`() {
- myFixture.testQuickFix(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed datapoint make method public and static quickfix`() {
+ myFixture.testQuickFix(
+ JvmLanguage.KOTLIN, """
class Test {
@org.junit.experimental.theories.DataPoint
private fun f1(): Any? = null
@@ -1207,28 +1204,28 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent(), "Fix 'f1' method signature", testPreview = true)
- }
+ }
- /* Malformed setup/teardown */
- fun `test malformed setup no highlighting`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ /* Malformed setup/teardown */
+ fun `test malformed setup no highlighting`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class C : junit.framework.TestCase() {
override fun setUp() { }
}
""".trimIndent())
- }
- fun `test malformed setup highlighting`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed setup highlighting`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class C : junit.framework.TestCase() {
private fun setUp(i: Int) { System.out.println(i) }
}
""".trimIndent())
- }
- fun `test malformed setup quickfix`() {
- myFixture.testQuickFix(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed setup quickfix`() {
+ myFixture.testQuickFix(
+ JvmLanguage.KOTLIN, """
class C : junit.framework.TestCase() {
private fun setUp(i: Int) { }
}
@@ -1237,13 +1234,13 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
fun setUp(): Unit { }
}
""".trimIndent(), "Fix 'setUp' method signature", testPreview = true)
- }
+ }
- /* Malformed rule */
- fun `test malformed rule field non-public highlighting`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ /* Malformed rule */
+ fun `test malformed rule field non-public highlighting`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class SomeTestRule : org.junit.rules.TestRule {
override fun apply(base: org.junit.runners.model.Statement, description: org.junit.runner.Description): org.junit.runners.model.Statement = base
}
@@ -1253,10 +1250,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
var x = SomeTestRule()
}
""".trimIndent())
- }
- fun `test malformed rule object inherited rule highlighting`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed rule object inherited rule highlighting`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class SomeTestRule : org.junit.rules.TestRule {
override fun apply(base: org.junit.runners.model.Statement, description: org.junit.runner.Description): org.junit.runners.model.Statement = base
}
@@ -1286,10 +1283,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
public fun a() = object { }
}
""".trimIndent())
- }
- fun `test malformed rule method static highlighting`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed rule method static highlighting`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class SomeTestRule : org.junit.rules.TestRule {
override fun apply(base: org.junit.runners.model.Statement, description: org.junit.runner.Description): org.junit.runners.model.Statement = base
}
@@ -1299,19 +1296,19 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
private fun x() = SomeTestRule()
}
""".trimIndent())
- }
- fun `test malformed rule method non TestRule type highlighting`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed rule method non TestRule type highlighting`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class PrivateRule {
@org.junit.Rule
fun x() = 0
}
""".trimIndent())
- }
- fun `test malformed class rule field highlighting`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed class rule field highlighting`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class SomeTestRule : org.junit.rules.TestRule {
override fun apply(base: org.junit.runners.model.Statement, description: org.junit.runner.Description): org.junit.runners.model.Statement = base
}
@@ -1324,10 +1321,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
private var y = 0
}
""".trimIndent())
- }
- fun `test malformed rule make field public quickfix`() {
- myFixture.testQuickFix(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed rule make field public quickfix`() {
+ myFixture.testQuickFix(
+ JvmLanguage.KOTLIN, """
class PrivateRule {
@org.junit.Rule
var x = 0
@@ -1339,10 +1336,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
var x = 0
}
""".trimIndent(), "Fix 'x' field signature", testPreview = true)
- }
- fun `test malformed class rule make field public quickfix`() {
- myFixture.testQuickFix(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed class rule make field public quickfix`() {
+ myFixture.testQuickFix(
+ JvmLanguage.KOTLIN, """
class SomeTestRule : org.junit.rules.TestRule {
override fun apply(base: org.junit.runners.model.Statement, description: org.junit.runner.Description): org.junit.runners.model.Statement = base
}
@@ -1362,12 +1359,12 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
var x = SomeTestRule()
}
""".trimIndent(), "Fix 'x' field signature", testPreview = true)
- }
+ }
- /* Malformed test */
- fun `test malformed test for JUnit 3 highlighting`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ /* Malformed test */
+ fun `test malformed test for JUnit 3 highlighting`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
public class JUnit3TestMethodIsPublicVoidNoArg : junit.framework.TestCase() {
fun testOne() { }
public fun testTwo(): Int { return 2 }
@@ -1380,14 +1377,14 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent())
- }
- fun `test malformed test for JUnit 4 highlighting`() {
- myFixture.addClass("""
+ }
+ fun `test malformed test for JUnit 4 highlighting`() {
+ myFixture.addClass("""
package mockit;
public @interface Mocked { }
""".trimIndent())
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
public class JUnit4TestMethodIsPublicVoidNoArg {
@org.junit.Test fun testOne() { }
@org.junit.Test public fun testTwo(): Int { return 2 }
@@ -1400,10 +1397,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent())
- }
- fun `test no highlighting on custom runner`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test no highlighting on custom runner`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class MyRunner : org.junit.runner.Runner() {
override fun getDescription(): org.junit.runner.Description? { return null }
@@ -1415,21 +1412,21 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
public fun testMe(i: Int): Int { return -1 }
}
""".trimIndent())
- }
- fun `test highlighting on predefined runner`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test highlighting on predefined runner`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
@org.junit.runner.RunWith(org.junit.runners.JUnit4::class)
class Foo {
@org.junit.Test public fun testMe(i: Int): Int { return -1 }
}
""".trimIndent())
- }
+ }
- /* Malformed suite */
- fun `test malformed suite no highlighting`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ /* Malformed suite */
+ fun `test malformed suite no highlighting`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class Junit3Suite : junit.framework.TestCase() {
companion object {
@JvmStatic
@@ -1437,18 +1434,18 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent())
- }
- fun `test malformed suite highlighting`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed suite highlighting`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class Junit3Suite : junit.framework.TestCase() {
fun suite() = junit.framework.TestSuite()
}
""".trimIndent())
- }
- fun `test malformed suite quickfix`() {
- myFixture.testQuickFix(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed suite quickfix`() {
+ myFixture.testQuickFix(
+ JvmLanguage.KOTLIN, """
class Junit3Suite : junit.framework.TestCase() {
fun suite() = junit.framework.TestSuite()
}
@@ -1460,39 +1457,39 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
}
}
""".trimIndent(), "Fix 'suite' method signature", testPreview = true)
- }
+ }
- /* Suspending test function */
- fun `test malformed suspending test JUnit 3 function`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ /* Suspending test function */
+ fun `test malformed suspending test JUnit 3 function`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class JUnit3Test : junit.framework.TestCase() {
suspend fun testFoo() { }
}
""".trimIndent())
- }
- fun `test malformed suspending test JUnit 4 function`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed suspending test JUnit 4 function`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class JUnit4Test {
@org.junit.Test
suspend fun testFoo() { }
}
""".trimIndent())
- }
- fun `test malformed suspending test JUnit 5 function`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun `test malformed suspending test JUnit 5 function`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class JUnit5Test {
@org.junit.jupiter.api.Test
suspend fun testFoo() { }
}
""".trimIndent())
- }
+ }
- fun `test extends with no highlighting`() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ fun `test extends with no highlighting`() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class MockitoExtension : org.junit.jupiter.api.extension.BeforeEachCallback, org.junit.jupiter.api.extension.AfterEachCallback, org.junit.jupiter.api.extension.ParameterResolver {
override fun beforeEach(context: org.junit.jupiter.api.extension.ExtensionContext?) { }
override fun afterEach(context: org.junit.jupiter.api.extension.ExtensionContext?) { }
@@ -1506,73 +1503,73 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
fun testFoo(x: String) { }
}
""".trimIndent())
- }
+ }
- // Unconstructable test case
- fun testPlain() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ // Unconstructable test case
+ fun testPlain() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
class Plain { }
""".trimIndent())
- }
- fun testUnconstructableJUnit3TestCase1() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun testUnconstructableJUnit3TestCase1() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
import junit.framework.TestCase
class UnconstructableJUnit3TestCase1 private constructor() : TestCase() {
}
""".trimIndent())
- }
- fun testUnconstructableJUnit3TestCase2() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun testUnconstructableJUnit3TestCase2() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
import junit.framework.TestCase
class UnconstructableJUnit3TestCase2(val foo: Any) : TestCase() {
fun bar() { }
}
""".trimIndent())
- }
- fun testUnconstructableJUnit3TestCase3() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun testUnconstructableJUnit3TestCase3() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
import junit.framework.TestCase
class UnconstructableJUnit3TestCase3() : TestCase() { }
""".trimIndent())
- }
- fun testUnconstructableJUnit3TestCase4() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun testUnconstructableJUnit3TestCase4() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
import junit.framework.TestCase
class UnconstructableJUnit3TestCase4(val foo: String) : TestCase() { }
""".trimIndent())
- }
- fun testUnconstructableJUnit3TestCaseAnynoymousObject() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun testUnconstructableJUnit3TestCaseAnynoymousObject() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
import junit.framework.TestCase
class Test {
private val testCase = object : TestCase() { }
}
""".trimIndent())
- }
- fun testUnconstructableJUnit3TestCaseLocalClass() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun testUnconstructableJUnit3TestCaseLocalClass() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
import junit.framework.TestCase
fun main () {
class LocalClass : TestCase() { }
}
""".trimIndent())
- }
- fun testUnconstructableJUnit4TestCase1() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun testUnconstructableJUnit4TestCase1() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
import org.junit.Test
class UnconstructableJUnit4TestCase1() {
@@ -1582,10 +1579,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
fun testMe() {}
}
""".trimIndent())
- }
- fun testUnconstructableJUnit4TestCase2() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun testUnconstructableJUnit4TestCase2() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
import org.junit.Test
class UnconstructableJUnit4TestCase2() {
@@ -1595,10 +1592,10 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
public fun testAssertion() { }
}
""".trimIndent())
- }
- fun testUnconstructableJUnit4TestCase3() {
- myFixture.testHighlighting(
- JvmLanguage.KOTLIN, """
+ }
+ fun testUnconstructableJUnit4TestCase3() {
+ myFixture.testHighlighting(
+ JvmLanguage.KOTLIN, """
import org.junit.Test
private class UnconstructableJUnit4TestCase3() {
@@ -1607,6 +1604,5 @@ class KotlinJUnitMalformedDeclarationInspectionTest {
fun testMe() {}
}
""".trimIndent())
- }
}
}
\ No newline at end of file
diff --git a/plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitMixedFrameworkInspectionTest.kt b/plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitMixedFrameworkInspectionTest.kt
similarity index 97%
rename from plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitMixedFrameworkInspectionTest.kt
rename to plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitMixedFrameworkInspectionTest.kt
index fa7f98c5cf35..f6eb1a0a4e72 100644
--- a/plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitMixedFrameworkInspectionTest.kt
+++ b/plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitMixedFrameworkInspectionTest.kt
@@ -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, """
diff --git a/plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitParameterizedSourceGoToRelatedTest.kt b/plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitParameterizedSourceGoToRelatedTest.kt
similarity index 92%
rename from plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitParameterizedSourceGoToRelatedTest.kt
rename to plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitParameterizedSourceGoToRelatedTest.kt
index 5c4b6fb1a23e..be641171bd30 100644
--- a/plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitParameterizedSourceGoToRelatedTest.kt
+++ b/plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinJUnitParameterizedSourceGoToRelatedTest.kt
@@ -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)
diff --git a/plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinTestCaseWithMultipleRunnersInspectionTest.kt b/plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinTestCaseWithMultipleRunnersInspectionTest.kt
similarity index 93%
rename from plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinTestCaseWithMultipleRunnersInspectionTest.kt
rename to plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinTestCaseWithMultipleRunnersInspectionTest.kt
index 26eef0383e5c..b550704d87b9 100644
--- a/plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinTestCaseWithMultipleRunnersInspectionTest.kt
+++ b/plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/KotlinTestCaseWithMultipleRunnersInspectionTest.kt
@@ -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)
diff --git a/plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/deadCode/KotlinJUnit5ImplicitUsageProviderTest.kt b/plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/deadCode/KotlinJUnit5ImplicitUsageProviderTest.kt
similarity index 93%
rename from plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/deadCode/KotlinJUnit5ImplicitUsageProviderTest.kt
rename to plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/deadCode/KotlinJUnit5ImplicitUsageProviderTest.kt
index befbe033b946..e35ab22ed39a 100644
--- a/plugins/junit/kotlin-tests/test/com/intellij/execution/junit/kotlin/codeInspection/deadCode/KotlinJUnit5ImplicitUsageProviderTest.kt
+++ b/plugins/junit/kotlin-tests-shared/test/com/intellij/execution/junit/kotlin/codeInspection/deadCode/KotlinJUnit5ImplicitUsageProviderTest.kt
@@ -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)
diff --git a/plugins/kotlin/all-tests-fir/kotlin.fir-all-tests.iml b/plugins/kotlin/all-tests-fir/kotlin.fir-all-tests.iml
index 8ed207693903..47d8bfc97ee6 100644
--- a/plugins/kotlin/all-tests-fir/kotlin.fir-all-tests.iml
+++ b/plugins/kotlin/all-tests-fir/kotlin.fir-all-tests.iml
@@ -57,5 +57,6 @@
+
\ No newline at end of file
diff --git a/plugins/kotlin/all-tests/kotlin.all-tests.iml b/plugins/kotlin/all-tests/kotlin.all-tests.iml
index 496c82c693d9..a914d581a3bb 100644
--- a/plugins/kotlin/all-tests/kotlin.all-tests.iml
+++ b/plugins/kotlin/all-tests/kotlin.all-tests.iml
@@ -9,15 +9,14 @@
-
-
+
@@ -74,5 +73,6 @@
+
\ No newline at end of file