diff --git a/idea/src/org/jetbrains/kotlin/idea/testIntegration/KotlinCreateTestIntention.kt b/idea/src/org/jetbrains/kotlin/idea/testIntegration/KotlinCreateTestIntention.kt index 06f8c2118db..d48587c4f98 100644 --- a/idea/src/org/jetbrains/kotlin/idea/testIntegration/KotlinCreateTestIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/testIntegration/KotlinCreateTestIntention.kt @@ -47,13 +47,14 @@ import org.jetbrains.kotlin.idea.util.runWhenSmart import org.jetbrains.kotlin.idea.util.runWithAlternativeResolveEnabled import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.psiUtil.endOffset +import org.jetbrains.kotlin.psi.psiUtil.hasExpectModifier import org.jetbrains.kotlin.psi.psiUtil.startOffset import java.util.* class KotlinCreateTestIntention : SelfTargetingRangeIntention(KtNamedDeclaration::class.java, "Create test") { override fun applicabilityRange(element: KtNamedDeclaration): TextRange? { + if (element.hasExpectModifier() || element.nameIdentifier == null) return null if (ModuleUtilCore.findModuleForPsiElement(element) == null) return null - if (element.nameIdentifier == null) return null if (element is KtClassOrObject) { if (element.isLocal) return null diff --git a/idea/testData/multiModuleQuickFix/createTestOnExpect/header/header.kt b/idea/testData/multiModuleQuickFix/createTestOnExpect/header/header.kt new file mode 100644 index 00000000000..88cbd58a3cf --- /dev/null +++ b/idea/testData/multiModuleQuickFix/createTestOnExpect/header/header.kt @@ -0,0 +1,3 @@ +// "Create test" "false" +// ACTION: Rename file to Foo.kt +expect class Foo diff --git a/idea/testData/multiModuleQuickFix/createTestOnExpect/jvm/jvm.kt b/idea/testData/multiModuleQuickFix/createTestOnExpect/jvm/jvm.kt new file mode 100644 index 00000000000..d376e475173 --- /dev/null +++ b/idea/testData/multiModuleQuickFix/createTestOnExpect/jvm/jvm.kt @@ -0,0 +1 @@ +actual class Foo diff --git a/idea/testData/quickfix/override/dontOfferToImplementMembersForExpectedClass.kt b/idea/testData/quickfix/override/dontOfferToImplementMembersForExpectedClass.kt index 07140b298f7..7ccb5d38744 100644 --- a/idea/testData/quickfix/override/dontOfferToImplementMembersForExpectedClass.kt +++ b/idea/testData/quickfix/override/dontOfferToImplementMembersForExpectedClass.kt @@ -1,5 +1,4 @@ // "Implement members" "false" -// ACTION: Create test // ACTION: Make internal // ACTION: Extract 'A' from current file diff --git a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiModuleTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiModuleTestGenerated.java index 21635a9b004..d3013c002df 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiModuleTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiModuleTestGenerated.java @@ -219,6 +219,11 @@ public class QuickFixMultiModuleTestGenerated extends AbstractQuickFixMultiModul runTest("idea/testData/multiModuleQuickFix/createFunInExpectClass/"); } + @TestMetadata("createTestOnExpect") + public void testCreateTestOnExpect() throws Exception { + runTest("idea/testData/multiModuleQuickFix/createTestOnExpect/"); + } + @TestMetadata("createValInExpectClass") public void testCreateValInExpectClass() throws Exception { runTest("idea/testData/multiModuleQuickFix/createValInExpectClass/");