mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 06:50:54 +07:00
[kotlin] Do not use kotlin test framework templates in K1
Create test intention uses j2k under the hood, that's why it has to use java templates #KTIJ-9787 GitOrigin-RevId: c09bce66dad527e94a5ce19d415beb703bf96ab4
This commit is contained in:
committed by
intellij-monorepo-bot
parent
50632c5985
commit
87e1ebdb33
@@ -1,3 +1,4 @@
|
||||
public void tearDown() throws Exception {
|
||||
super.tearDown();
|
||||
${BODY}
|
||||
}
|
||||
@@ -58,5 +58,6 @@
|
||||
<orderEntry type="module" module-name="kotlin.refactorings.common" />
|
||||
<orderEntry type="module" module-name="intellij.platform.core.ui" />
|
||||
<orderEntry type="module" module-name="kotlin.base.facet" />
|
||||
<orderEntry type="module" module-name="kotlin.base.plugin" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.idea.codeinsights.impl.base.testIntegration
|
||||
|
||||
import com.intellij.ide.highlighter.JavaFileType
|
||||
import com.intellij.openapi.module.Module
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.psi.PsiClass
|
||||
@@ -10,6 +11,7 @@ import com.intellij.refactoring.util.RefactoringMessageUtil
|
||||
import com.intellij.testIntegration.createTest.CreateTestDialog
|
||||
import org.jetbrains.annotations.Nls
|
||||
import org.jetbrains.kotlin.idea.KotlinFileType
|
||||
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginModeProvider
|
||||
|
||||
class KotlinCreateTestDialog(
|
||||
project: Project,
|
||||
@@ -23,5 +25,13 @@ class KotlinCreateTestDialog(
|
||||
override fun getClassName(): String = explicitClassName ?: super.className
|
||||
|
||||
override fun checkCanCreateClass(): String? =
|
||||
RefactoringMessageUtil.checkCanCreateClass(myTargetDirectory, getClassName(), KotlinFileType.INSTANCE)
|
||||
RefactoringMessageUtil.checkCanCreateClass(
|
||||
myTargetDirectory,
|
||||
getClassName(),
|
||||
if (KotlinPluginModeProvider.isK1Mode()) {
|
||||
JavaFileType.INSTANCE
|
||||
} else {
|
||||
KotlinFileType.INSTANCE
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
@@ -157,7 +157,13 @@ abstract class KotlinGenerateTestSupportActionBase(
|
||||
project.executeWriteCommand(commandName) {
|
||||
PsiDocumentManager.getInstance(project).commitAllDocuments()
|
||||
|
||||
var function = KtPsiFactory(project).createFunction(templateText)
|
||||
val factory = PsiElementFactory.getInstance(project)
|
||||
val psiMethod = factory.createMethodFromText(templateText, null)
|
||||
psiMethod.throwsList.referenceElements.forEach { it.delete() }
|
||||
var function = psiMethod.j2k(settings = publicByDefault) as? KtNamedFunction ?: run {
|
||||
errorHint = KotlinBundle.message("action.generate.test.support.error.cant.convert.java.template")
|
||||
return@executeWriteCommand
|
||||
}
|
||||
name?.let {
|
||||
function = substituteNewName(function, it)
|
||||
}
|
||||
|
||||
@@ -2,9 +2,8 @@
|
||||
package org.jetbrains.kotlin.idea.testIntegration
|
||||
|
||||
import com.intellij.codeInsight.navigation.activateFileWithPsiElement
|
||||
import com.intellij.ide.highlighter.JavaFileType
|
||||
import com.intellij.lang.java.JavaLanguage
|
||||
import com.intellij.openapi.application.runWriteAction
|
||||
import com.intellij.openapi.fileTypes.FileType
|
||||
import com.intellij.openapi.module.Module
|
||||
import com.intellij.openapi.options.advanced.AdvancedSettings
|
||||
import com.intellij.openapi.project.Project
|
||||
@@ -38,7 +37,7 @@ class KotlinCreateTestIntention: AbstractKotlinCreateTestIntention() {
|
||||
generatedFile: PsiFile,
|
||||
srcModule: Module
|
||||
) {
|
||||
if (generatedFile !is PsiJavaFile || generatedClass.language != JavaFileType.INSTANCE) return
|
||||
if (generatedFile !is PsiJavaFile || generatedClass.language != JavaLanguage.INSTANCE) return
|
||||
|
||||
project.executeCommand<Unit>(
|
||||
KotlinBundle.message("convert.class.0.to.kotlin", generatedClass.name.toString()),
|
||||
|
||||
@@ -21,6 +21,7 @@ import com.intellij.util.ThreeState
|
||||
import com.intellij.util.ThreeState.*
|
||||
import org.jetbrains.kotlin.asJava.elements.KtLightElement
|
||||
import org.jetbrains.kotlin.idea.KotlinLanguage
|
||||
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginModeProvider
|
||||
import org.jetbrains.kotlin.idea.stubindex.KotlinClassShortNameIndex
|
||||
import org.jetbrains.kotlin.idea.testIntegration.framework.AbstractKotlinPsiBasedTestFramework
|
||||
import org.jetbrains.kotlin.idea.testIntegration.framework.KotlinPsiBasedTestFramework
|
||||
@@ -234,16 +235,32 @@ class KotlinJUnit3Framework: JUnit3Framework(), KotlinPsiBasedTestFramework {
|
||||
psiBasedDelegate.isIgnoredMethod(declaration)
|
||||
|
||||
override fun getSetUpMethodFileTemplateDescriptor(): FileTemplateDescriptor? =
|
||||
FileTemplateDescriptor("Kotlin JUnit3 SetUp Function.kt")
|
||||
if (KotlinPluginModeProvider.isK1Mode()) {
|
||||
super.getSetUpMethodFileTemplateDescriptor()
|
||||
} else {
|
||||
FileTemplateDescriptor("Kotlin JUnit3 SetUp Function.kt")
|
||||
}
|
||||
|
||||
override fun getTearDownMethodFileTemplateDescriptor(): FileTemplateDescriptor? =
|
||||
FileTemplateDescriptor("Kotlin JUnit3 TearDown Function.kt")
|
||||
if (KotlinPluginModeProvider.isK1Mode()) {
|
||||
super.getTearDownMethodFileTemplateDescriptor()
|
||||
} else {
|
||||
FileTemplateDescriptor("Kotlin JUnit3 TearDown Function.kt")
|
||||
}
|
||||
|
||||
override fun getTestMethodFileTemplateDescriptor(): FileTemplateDescriptor =
|
||||
FileTemplateDescriptor("Kotlin JUnit3 Test Function.kt")
|
||||
if (KotlinPluginModeProvider.isK1Mode()) {
|
||||
super.getTestMethodFileTemplateDescriptor()
|
||||
} else {
|
||||
FileTemplateDescriptor("Kotlin JUnit3 Test Function.kt")
|
||||
}
|
||||
|
||||
override fun getTestClassFileTemplateDescriptor(): FileTemplateDescriptor? =
|
||||
FileTemplateDescriptor("Kotlin JUnit3 Test Class.kt")
|
||||
if (KotlinPluginModeProvider.isK1Mode()) {
|
||||
super.getTestClassFileTemplateDescriptor()
|
||||
} else {
|
||||
FileTemplateDescriptor("Kotlin JUnit3 Test Class.kt")
|
||||
}
|
||||
}
|
||||
|
||||
private val TEST_CLASS_FQN = setOf(JUnitUtil.TEST_CASE_CLASS)
|
||||
@@ -15,6 +15,7 @@ import com.intellij.util.ThreeState.*
|
||||
import com.siyeh.ig.junit.JUnitCommonClassNames
|
||||
import org.jetbrains.kotlin.asJava.elements.KtLightElement
|
||||
import org.jetbrains.kotlin.idea.KotlinLanguage
|
||||
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginModeProvider
|
||||
import org.jetbrains.kotlin.idea.testIntegration.framework.AbstractKotlinPsiBasedTestFramework
|
||||
import org.jetbrains.kotlin.idea.testIntegration.framework.KotlinPsiBasedTestFramework
|
||||
import org.jetbrains.kotlin.idea.testIntegration.framework.KotlinPsiBasedTestFramework.Companion.asKtClassOrObject
|
||||
@@ -171,23 +172,43 @@ class KotlinJUnit4Framework: JUnit4Framework(), KotlinPsiBasedTestFramework {
|
||||
psiBasedDelegate.isIgnoredMethod(declaration)
|
||||
|
||||
override fun getSetUpMethodFileTemplateDescriptor(): FileTemplateDescriptor? {
|
||||
return FileTemplateDescriptor("Kotlin JUnit4 SetUp Function.kt")
|
||||
return if (KotlinPluginModeProvider.isK1Mode()) {
|
||||
super.getSetUpMethodFileTemplateDescriptor()
|
||||
} else {
|
||||
FileTemplateDescriptor("Kotlin JUnit4 SetUp Function.kt")
|
||||
}
|
||||
}
|
||||
|
||||
override fun getTearDownMethodFileTemplateDescriptor(): FileTemplateDescriptor? {
|
||||
return FileTemplateDescriptor("Kotlin JUnit4 TearDown Function.kt")
|
||||
return if (KotlinPluginModeProvider.isK1Mode()) {
|
||||
super.getTearDownMethodFileTemplateDescriptor()
|
||||
} else {
|
||||
FileTemplateDescriptor("Kotlin JUnit4 TearDown Function.kt")
|
||||
}
|
||||
}
|
||||
|
||||
override fun getTestMethodFileTemplateDescriptor(): FileTemplateDescriptor {
|
||||
return FileTemplateDescriptor("Kotlin JUnit4 Test Function.kt")
|
||||
return if (KotlinPluginModeProvider.isK1Mode()) {
|
||||
super.getTestMethodFileTemplateDescriptor()
|
||||
} else {
|
||||
FileTemplateDescriptor("Kotlin JUnit4 Test Function.kt")
|
||||
}
|
||||
}
|
||||
|
||||
override fun getParametersMethodFileTemplateDescriptor(): FileTemplateDescriptor? {
|
||||
return FileTemplateDescriptor("Kotlin JUnit4 Parameters Function.kt")
|
||||
return if (KotlinPluginModeProvider.isK1Mode()) {
|
||||
super.getParametersMethodFileTemplateDescriptor()
|
||||
} else {
|
||||
FileTemplateDescriptor("Kotlin JUnit4 Parameters Function.kt")
|
||||
}
|
||||
}
|
||||
|
||||
override fun getTestClassFileTemplateDescriptor(): FileTemplateDescriptor? =
|
||||
FileTemplateDescriptor("Kotlin JUnit4 Test Class.kt")
|
||||
if (KotlinPluginModeProvider.isK1Mode()) {
|
||||
super.getTestClassFileTemplateDescriptor()
|
||||
} else {
|
||||
FileTemplateDescriptor("Kotlin JUnit4 Test Class.kt")
|
||||
}
|
||||
|
||||
override fun isFrameworkAvailable(clazz: PsiElement): Boolean {
|
||||
return super.isFrameworkAvailable(clazz) || clazz is KtClass && psiBasedDelegate.isFrameworkAvailable(clazz)
|
||||
|
||||
@@ -15,6 +15,7 @@ import com.intellij.util.ThreeState.*
|
||||
import com.siyeh.ig.junit.JUnitCommonClassNames
|
||||
import org.jetbrains.kotlin.asJava.elements.KtLightElement
|
||||
import org.jetbrains.kotlin.idea.KotlinLanguage
|
||||
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginModeProvider
|
||||
import org.jetbrains.kotlin.idea.testIntegration.framework.AbstractKotlinPsiBasedTestFramework
|
||||
import org.jetbrains.kotlin.idea.testIntegration.framework.KotlinPsiBasedTestFramework
|
||||
import org.jetbrains.kotlin.idea.testIntegration.framework.KotlinPsiBasedTestFramework.Companion.asKtClassOrObject
|
||||
@@ -153,19 +154,35 @@ class KotlinJUnit5Framework: JUnit5Framework(), KotlinPsiBasedTestFramework {
|
||||
psiBasedDelegate.isIgnoredMethod(declaration)
|
||||
|
||||
override fun getSetUpMethodFileTemplateDescriptor(): FileTemplateDescriptor? {
|
||||
return FileTemplateDescriptor("Kotlin JUnit5 SetUp Function.kt")
|
||||
return if (KotlinPluginModeProvider.isK1Mode()) {
|
||||
super.getSetUpMethodFileTemplateDescriptor()
|
||||
} else {
|
||||
FileTemplateDescriptor("Kotlin JUnit5 SetUp Function.kt")
|
||||
}
|
||||
}
|
||||
|
||||
override fun getTearDownMethodFileTemplateDescriptor(): FileTemplateDescriptor? {
|
||||
return FileTemplateDescriptor("Kotlin JUnit5 TearDown Function.kt")
|
||||
return if (KotlinPluginModeProvider.isK1Mode()) {
|
||||
super.getTearDownMethodFileTemplateDescriptor()
|
||||
} else {
|
||||
FileTemplateDescriptor("Kotlin JUnit5 TearDown Function.kt")
|
||||
}
|
||||
}
|
||||
|
||||
override fun getTestMethodFileTemplateDescriptor(): FileTemplateDescriptor {
|
||||
return FileTemplateDescriptor("Kotlin JUnit5 Test Function.kt")
|
||||
return if (KotlinPluginModeProvider.isK1Mode()) {
|
||||
super.getTestMethodFileTemplateDescriptor()
|
||||
} else {
|
||||
FileTemplateDescriptor("Kotlin JUnit5 Test Function.kt")
|
||||
}
|
||||
}
|
||||
|
||||
override fun getTestClassFileTemplateDescriptor(): FileTemplateDescriptor? =
|
||||
FileTemplateDescriptor("Kotlin JUnit5 Test Class.kt")
|
||||
if (KotlinPluginModeProvider.isK1Mode()) {
|
||||
super.getTestClassFileTemplateDescriptor()
|
||||
} else {
|
||||
FileTemplateDescriptor("Kotlin JUnit5 Test Class.kt")
|
||||
}
|
||||
}
|
||||
|
||||
private val METHOD_ANNOTATION_FQN = setOf(
|
||||
|
||||
@@ -174,15 +174,27 @@ class KotlinTestNGFramework: TestNGFramework(), KotlinPsiBasedTestFramework {
|
||||
psiBasedDelegate.isIgnoredMethod(declaration)
|
||||
|
||||
override fun getSetUpMethodFileTemplateDescriptor(): FileTemplateDescriptor? {
|
||||
return FileTemplateDescriptor("Kotlin TestNG SetUp Function.kt")
|
||||
return if (KotlinPluginModeProvider.isK1Mode()) {
|
||||
super.getSetUpMethodFileTemplateDescriptor()
|
||||
} else {
|
||||
FileTemplateDescriptor("Kotlin TestNG SetUp Function.kt")
|
||||
}
|
||||
}
|
||||
|
||||
override fun getTearDownMethodFileTemplateDescriptor(): FileTemplateDescriptor? {
|
||||
return FileTemplateDescriptor("Kotlin TestNG TearDown Function.kt")
|
||||
return if (KotlinPluginModeProvider.isK1Mode()) {
|
||||
super.getTearDownMethodFileTemplateDescriptor()
|
||||
} else {
|
||||
FileTemplateDescriptor("Kotlin TestNG TearDown Function.kt")
|
||||
}
|
||||
}
|
||||
|
||||
override fun getTestMethodFileTemplateDescriptor(): FileTemplateDescriptor {
|
||||
return FileTemplateDescriptor("Kotlin TestNG Test Function.kt")
|
||||
return if (KotlinPluginModeProvider.isK1Mode()) {
|
||||
super.getTestMethodFileTemplateDescriptor()
|
||||
} else {
|
||||
FileTemplateDescriptor("Kotlin TestNG Test Function.kt")
|
||||
}
|
||||
}
|
||||
|
||||
override fun getTestClassFileTemplateDescriptor(): FileTemplateDescriptor? =
|
||||
@@ -193,7 +205,11 @@ class KotlinTestNGFramework: TestNGFramework(), KotlinPsiBasedTestFramework {
|
||||
}
|
||||
|
||||
override fun getParametersMethodFileTemplateDescriptor(): FileTemplateDescriptor? {
|
||||
return FileTemplateDescriptor("Kotlin TestNG Parameters Function.kt")
|
||||
return if (KotlinPluginModeProvider.isK1Mode()) {
|
||||
super.getParametersMethodFileTemplateDescriptor()
|
||||
} else {
|
||||
FileTemplateDescriptor("Kotlin TestNG Parameters Function.kt")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user