[jvm] Add documentation JVM test API

GitOrigin-RevId: a05f30bea33866ef770cc6db081c7ec7426fd083
This commit is contained in:
Bart van Helvert
2024-02-12 09:58:46 +01:00
committed by intellij-monorepo-bot
parent dc7805f3a9
commit ebd72b26b4
3 changed files with 16 additions and 2 deletions

View File

@@ -7,13 +7,21 @@ import com.intellij.testFramework.IdeaTestUtil
import com.intellij.testFramework.LightProjectDescriptor
import com.intellij.testFramework.fixtures.JavaCodeInsightTestFixture
/**
* A base test class that allows setting language level and mock SDK.
*/
abstract class JvmSdkInspectionTestBase : JvmInspectionTestBase() {
open val languageLevel: LanguageLevel = LanguageLevel.HIGHEST
/**
* The mock JDK to use.
* When the mock JDK for this language level is not available, the mock SDK will be chosen according to [IdeaTestUtil.getMockJdk].
*/
open val sdkLevel: LanguageLevel = LanguageLevel.HIGHEST
override fun getProjectDescriptor(): LightProjectDescriptor = ProjectDescriptor(sdkLevel)
/**
* Sets the current project and module language level to [languageLevel].
*/
protected fun JavaCodeInsightTestFixture.setLanguageLevel(languageLevel: LanguageLevel) {
LanguageLevelProjectExtension.getInstance(project).languageLevel = languageLevel
IdeaTestUtil.setModuleLanguageLevel(myFixture.module, languageLevel, testRootDisposable)

View File

@@ -4,6 +4,9 @@ import com.intellij.ide.actions.GotoRelatedSymbolAction
import com.intellij.navigation.GotoRelatedItem
import com.intellij.testFramework.fixtures.JavaCodeInsightTestFixture
/**
* A test base for testing [com.intellij.navigation.GotoRelatedProvider] implementations in all JVM languages.
*/
abstract class JvmGoToRelatedTestBase : LightJvmCodeInsightFixtureTestCase() {
protected fun JavaCodeInsightTestFixture.testGoToRelatedAction(
lang: JvmLanguage,

View File

@@ -9,6 +9,9 @@ import com.intellij.testFramework.InspectionTestUtil
import com.intellij.testFramework.LightProjectDescriptor
import com.intellij.testFramework.fixtures.JavaCodeInsightTestFixture
/**
* A base class for testing JVM inspections.
*/
abstract class JvmInspectionTestBase : LightJvmCodeInsightFixtureTestCase() {
abstract val inspection: InspectionProfileEntry