diff --git a/plugins/junit/resources/fileTemplates/code/JUnit3 TearDown Method.java.ft b/plugins/junit/resources/fileTemplates/code/JUnit3 TearDown Method.java.ft
index d9b5079004cd..7d5790903cb6 100644
--- a/plugins/junit/resources/fileTemplates/code/JUnit3 TearDown Method.java.ft
+++ b/plugins/junit/resources/fileTemplates/code/JUnit3 TearDown Method.java.ft
@@ -1,3 +1,4 @@
public void tearDown() throws Exception {
+ super.tearDown();
${BODY}
}
\ No newline at end of file
diff --git a/plugins/kotlin/code-insight/impl-base/kotlin.code-insight.impl-base.iml b/plugins/kotlin/code-insight/impl-base/kotlin.code-insight.impl-base.iml
index e46a2035965a..5e14b501e431 100644
--- a/plugins/kotlin/code-insight/impl-base/kotlin.code-insight.impl-base.iml
+++ b/plugins/kotlin/code-insight/impl-base/kotlin.code-insight.impl-base.iml
@@ -58,5 +58,6 @@
+
\ No newline at end of file
diff --git a/plugins/kotlin/code-insight/impl-base/src/org/jetbrains/kotlin/idea/codeinsights/impl/base/testIntegration/KotlinCreateTestDialog.kt b/plugins/kotlin/code-insight/impl-base/src/org/jetbrains/kotlin/idea/codeinsights/impl/base/testIntegration/KotlinCreateTestDialog.kt
index eee15a361bd9..9ffcb6138b1f 100644
--- a/plugins/kotlin/code-insight/impl-base/src/org/jetbrains/kotlin/idea/codeinsights/impl/base/testIntegration/KotlinCreateTestDialog.kt
+++ b/plugins/kotlin/code-insight/impl-base/src/org/jetbrains/kotlin/idea/codeinsights/impl/base/testIntegration/KotlinCreateTestDialog.kt
@@ -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
+ }
+ )
}
diff --git a/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/actions/generate/KotlinGenerateTestSupportActionBase.kt b/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/actions/generate/KotlinGenerateTestSupportActionBase.kt
index 9efee02f9989..d607a5d6fd0a 100644
--- a/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/actions/generate/KotlinGenerateTestSupportActionBase.kt
+++ b/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/actions/generate/KotlinGenerateTestSupportActionBase.kt
@@ -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)
}
diff --git a/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/testIntegration/KotlinCreateTestIntention.kt b/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/testIntegration/KotlinCreateTestIntention.kt
index 3a2e973a85f8..61f822d29a7a 100644
--- a/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/testIntegration/KotlinCreateTestIntention.kt
+++ b/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/testIntegration/KotlinCreateTestIntention.kt
@@ -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(
KotlinBundle.message("convert.class.0.to.kotlin", generatedClass.name.toString()),
diff --git a/plugins/kotlin/run-configurations/junit/src/org/jetbrains/kotlin/idea/junit/KotlinJUnit3Framework.kt b/plugins/kotlin/run-configurations/junit/src/org/jetbrains/kotlin/idea/junit/KotlinJUnit3Framework.kt
index 6374a1056343..c2a743939b46 100644
--- a/plugins/kotlin/run-configurations/junit/src/org/jetbrains/kotlin/idea/junit/KotlinJUnit3Framework.kt
+++ b/plugins/kotlin/run-configurations/junit/src/org/jetbrains/kotlin/idea/junit/KotlinJUnit3Framework.kt
@@ -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)
\ No newline at end of file
diff --git a/plugins/kotlin/run-configurations/junit/src/org/jetbrains/kotlin/idea/junit/KotlinJUnit4Framework.kt b/plugins/kotlin/run-configurations/junit/src/org/jetbrains/kotlin/idea/junit/KotlinJUnit4Framework.kt
index e7b953ea893c..55e7e9cb3126 100644
--- a/plugins/kotlin/run-configurations/junit/src/org/jetbrains/kotlin/idea/junit/KotlinJUnit4Framework.kt
+++ b/plugins/kotlin/run-configurations/junit/src/org/jetbrains/kotlin/idea/junit/KotlinJUnit4Framework.kt
@@ -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)
diff --git a/plugins/kotlin/run-configurations/junit/src/org/jetbrains/kotlin/idea/junit/KotlinJUnit5Framework.kt b/plugins/kotlin/run-configurations/junit/src/org/jetbrains/kotlin/idea/junit/KotlinJUnit5Framework.kt
index 2378c1719ffb..3bd1fe31452e 100644
--- a/plugins/kotlin/run-configurations/junit/src/org/jetbrains/kotlin/idea/junit/KotlinJUnit5Framework.kt
+++ b/plugins/kotlin/run-configurations/junit/src/org/jetbrains/kotlin/idea/junit/KotlinJUnit5Framework.kt
@@ -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(
diff --git a/plugins/kotlin/run-configurations/testng/src/org/jetbrains/kotlin/idea/testng/KotlinTestNGFramework.kt b/plugins/kotlin/run-configurations/testng/src/org/jetbrains/kotlin/idea/testng/KotlinTestNGFramework.kt
index 5c23dfee18e0..2c6da5cf2bd8 100644
--- a/plugins/kotlin/run-configurations/testng/src/org/jetbrains/kotlin/idea/testng/KotlinTestNGFramework.kt
+++ b/plugins/kotlin/run-configurations/testng/src/org/jetbrains/kotlin/idea/testng/KotlinTestNGFramework.kt
@@ -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")
+ }
}
}