[jvm] Fix test method without assertions inspection for Kotlin assertions

#KTIJ-31326 Fixed

GitOrigin-RevId: bb2cd382795252b986a505405d13419e9269857a
This commit is contained in:
Bart van Helvert
2024-09-14 13:09:37 +02:00
committed by intellij-monorepo-bot
parent 01cfcb6099
commit 6e3a46cf36
3 changed files with 4 additions and 24 deletions

View File

@@ -46,7 +46,8 @@ class TestMethodWithoutAssertionInspection : AbstractBaseUastLocalInspectionTool
.add("org.hamcrest.MatcherAssert", "assertThat") .add("org.hamcrest.MatcherAssert", "assertThat")
.add("mockit.Verifications", "Verifications") .add("mockit.Verifications", "Verifications")
.add("kotlin.PreconditionsKt__AssertionsJVMKt", "assert") .add("kotlin.PreconditionsKt__AssertionsJVMKt", "assert")
.add("kotlin.test.AssertionsKt__AssertionsKt", "assert.*|fail.*|expect") .add("kotlin.test.AssertionsKt__AssertionsKt", "assert.*|fail.*|expect") // for K1
.add("kotlin.test.AssertionsKt", "assert.*|fail.*|expect") // for K2
.add("org.testng.Assert", "assert.*|fail.*|expect.*") .add("org.testng.Assert", "assert.*|fail.*|expect.*")
.add("org.testng.AssertJUnit", "assert.*|fail.*") .add("org.testng.AssertJUnit", "assert.*|fail.*")
.finishDefault() .finishDefault()

View File

@@ -1,11 +1,7 @@
package com.intellij.codeInspection.tests.kotlin.test package com.intellij.codeInspection.tests.kotlin.test
import com.intellij.idea.IgnoreJUnit3
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
import org.junit.Ignore
@Ignore
@IgnoreJUnit3
class K2TestMethodWithoutAssertionInspectionTest : KotlinTestMethodWithoutAssertionInspectionTest() { class K2TestMethodWithoutAssertionInspectionTest : KotlinTestMethodWithoutAssertionInspectionTest() {
override val pluginMode: KotlinPluginMode get() = KotlinPluginMode.K2 override val pluginMode: KotlinPluginMode get() = KotlinPluginMode.K2
} }

View File

@@ -2,31 +2,14 @@ package com.intellij.codeInspection.tests.kotlin.test
import com.intellij.jvm.analysis.internal.testFramework.test.TestMethodWithoutAssertionInspectionTestBase import com.intellij.jvm.analysis.internal.testFramework.test.TestMethodWithoutAssertionInspectionTestBase
import com.intellij.jvm.analysis.testFramework.JvmLanguage import com.intellij.jvm.analysis.testFramework.JvmLanguage
import com.intellij.openapi.module.Module import org.jetbrains.kotlin.idea.test.ConfigLibraryUtil
import com.intellij.openapi.roots.ContentEntry
import com.intellij.openapi.roots.ModifiableRootModel
import com.intellij.pom.java.LanguageLevel
import com.intellij.project.IntelliJProjectConfiguration
import com.intellij.testFramework.LightProjectDescriptor
import com.intellij.testFramework.PsiTestUtil
import com.intellij.util.PathUtil
import org.jetbrains.kotlin.idea.test.ExpectedPluginModeProvider import org.jetbrains.kotlin.idea.test.ExpectedPluginModeProvider
import org.jetbrains.kotlin.idea.test.setUpWithKotlinPlugin import org.jetbrains.kotlin.idea.test.setUpWithKotlinPlugin
import java.io.File
abstract class KotlinTestMethodWithoutAssertionInspectionTest : TestMethodWithoutAssertionInspectionTestBase(), ExpectedPluginModeProvider { abstract class KotlinTestMethodWithoutAssertionInspectionTest : TestMethodWithoutAssertionInspectionTestBase(), ExpectedPluginModeProvider {
override fun setUp() { override fun setUp() {
setUpWithKotlinPlugin(testRootDisposable) { super.setUp() } setUpWithKotlinPlugin(testRootDisposable) { super.setUp() }
} ConfigLibraryUtil.configureKotlinRuntime(myFixture.module)
override fun getProjectDescriptor(): LightProjectDescriptor = object : TestFrameworkDescriptor(LanguageLevel.HIGHEST) {
override fun configureModule(module: Module, model: ModifiableRootModel, contentEntry: ContentEntry) {
super.configureModule(module, model, contentEntry)
val stdLibJar = File(PathUtil.getJarPathForClass(JvmStatic::class.java))
PsiTestUtil.addLibrary(model, "kotlin-stdlib", stdLibJar.parent, stdLibJar.name)
val ktTestJar = File(IntelliJProjectConfiguration.getProjectLibraryClassesRootPaths("kotlin-test").first())
PsiTestUtil.addLibrary(model, "kotlin-test", ktTestJar.parent, ktTestJar.name)
}
} }
fun `test highlighting for empty method body`() { fun `test highlighting for empty method body`() {