diff --git a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt index 2aafdadea70..d883cfdc046 100755 --- a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt +++ b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt @@ -113,6 +113,7 @@ import org.jetbrains.kotlin.idea.maven.configuration.AbstractMavenConfigureProje import org.jetbrains.kotlin.idea.navigation.* import org.jetbrains.kotlin.idea.parameterInfo.AbstractParameterInfoTest import org.jetbrains.kotlin.idea.quickfix.AbstractQuickFixMultiFileTest +import org.jetbrains.kotlin.idea.quickfix.AbstractQuickFixMultiModuleTest import org.jetbrains.kotlin.idea.quickfix.AbstractQuickFixTest import org.jetbrains.kotlin.idea.refactoring.AbstractNameSuggestionProviderTest import org.jetbrains.kotlin.idea.refactoring.copy.AbstractCopyTest @@ -637,6 +638,10 @@ fun main(args: Array) { model("multiFileHighlighting", recursive = false) } + testClass { + model("multiModuleQuickFix", recursive = false, extension = null) + } + testClass { model("refactoring/introduceVariable", pattern = KT_OR_KTS, testMethod = "doIntroduceVariableTest") model("refactoring/extractFunction", pattern = KT_OR_KTS, testMethod = "doExtractFunctionTest") diff --git a/idea/testData/multiModuleQuickFix/abstract/header/header.kt b/idea/testData/multiModuleQuickFix/abstract/header/header.kt index d2c684e33a7..4b4c84d1b99 100644 --- a/idea/testData/multiModuleQuickFix/abstract/header/header.kt +++ b/idea/testData/multiModuleQuickFix/abstract/header/header.kt @@ -1,4 +1,4 @@ -// "Create actual class for module js (JS)" "true" +// "Create actual class for module testModule_JS (JS)" "true" expect abstract class Abstract { fun foo(param: String): Int diff --git a/idea/testData/multiModuleQuickFix/abstract/header/header.kt.after b/idea/testData/multiModuleQuickFix/abstract/header/header.kt.after index b90d00df7ee..e539fe0f68e 100644 --- a/idea/testData/multiModuleQuickFix/abstract/header/header.kt.after +++ b/idea/testData/multiModuleQuickFix/abstract/header/header.kt.after @@ -1,4 +1,4 @@ -// "Create actual class for module js (JS)" "true" +// "Create actual class for module testModule_JS (JS)" "true" expect abstract class Abstract { fun foo(param: String): Int diff --git a/idea/testData/multiModuleQuickFix/annotation/header/header.kt b/idea/testData/multiModuleQuickFix/annotation/header/header.kt index fc7853cfd40..4199a68c8e4 100644 --- a/idea/testData/multiModuleQuickFix/annotation/header/header.kt +++ b/idea/testData/multiModuleQuickFix/annotation/header/header.kt @@ -1,3 +1,3 @@ -// "Create actual annotation class for module jvm (JVM)" "true" +// "Create actual annotation class for module testModule_JVM (JVM)" "true" expect annotation class Ann(val x: Int, val y: String) \ No newline at end of file diff --git a/idea/testData/multiModuleQuickFix/annotation/header/header.kt.after b/idea/testData/multiModuleQuickFix/annotation/header/header.kt.after index 854fd789e76..ab3a0f46280 100644 --- a/idea/testData/multiModuleQuickFix/annotation/header/header.kt.after +++ b/idea/testData/multiModuleQuickFix/annotation/header/header.kt.after @@ -1,3 +1,3 @@ -// "Create actual annotation class for module jvm (JVM)" "true" +// "Create actual annotation class for module testModule_JVM (JVM)" "true" expect annotation class Ann(val x: Int, val y: String) \ No newline at end of file diff --git a/idea/testData/multiModuleQuickFix/class/header/header.kt b/idea/testData/multiModuleQuickFix/class/header/header.kt index 286001a8c35..c71a94268c8 100644 --- a/idea/testData/multiModuleQuickFix/class/header/header.kt +++ b/idea/testData/multiModuleQuickFix/class/header/header.kt @@ -1,4 +1,4 @@ -// "Create actual class for module jvm (JVM)" "true" +// "Create actual class for module testModule_JVM (JVM)" "true" expect class My { fun foo(param: String): Int diff --git a/idea/testData/multiModuleQuickFix/class/header/header.kt.after b/idea/testData/multiModuleQuickFix/class/header/header.kt.after index 2f7bc9b0c3a..cdd28abb459 100644 --- a/idea/testData/multiModuleQuickFix/class/header/header.kt.after +++ b/idea/testData/multiModuleQuickFix/class/header/header.kt.after @@ -1,4 +1,4 @@ -// "Create actual class for module jvm (JVM)" "true" +// "Create actual class for module testModule_JVM (JVM)" "true" expect class My { fun foo(param: String): Int diff --git a/idea/testData/multiModuleQuickFix/enum/header/header.kt b/idea/testData/multiModuleQuickFix/enum/header/header.kt index ac2e9a8f43f..85328f911eb 100644 --- a/idea/testData/multiModuleQuickFix/enum/header/header.kt +++ b/idea/testData/multiModuleQuickFix/enum/header/header.kt @@ -1,4 +1,4 @@ -// "Create actual enum class for module js (JS)" "true" +// "Create actual enum class for module testModule_JS (JS)" "true" expect enum class MyEnum { FIRST, diff --git a/idea/testData/multiModuleQuickFix/enum/header/header.kt.after b/idea/testData/multiModuleQuickFix/enum/header/header.kt.after index 54cab414f5c..d4ee43225f7 100644 --- a/idea/testData/multiModuleQuickFix/enum/header/header.kt.after +++ b/idea/testData/multiModuleQuickFix/enum/header/header.kt.after @@ -1,4 +1,4 @@ -// "Create actual enum class for module js (JS)" "true" +// "Create actual enum class for module testModule_JS (JS)" "true" expect enum class MyEnum { FIRST, diff --git a/idea/testData/multiModuleQuickFix/function/header/header.kt b/idea/testData/multiModuleQuickFix/function/header/header.kt index b3753123b4f..e00f63102d0 100644 --- a/idea/testData/multiModuleQuickFix/function/header/header.kt +++ b/idea/testData/multiModuleQuickFix/function/header/header.kt @@ -1,3 +1,3 @@ -// "Create actual function for module jvm (JVM)" "true" +// "Create actual function for module testModule_JVM (JVM)" "true" expect fun foo(arg: Int): String \ No newline at end of file diff --git a/idea/testData/multiModuleQuickFix/function/header/header.kt.after b/idea/testData/multiModuleQuickFix/function/header/header.kt.after index f23753e3173..cf538dba363 100644 --- a/idea/testData/multiModuleQuickFix/function/header/header.kt.after +++ b/idea/testData/multiModuleQuickFix/function/header/header.kt.after @@ -1,3 +1,3 @@ -// "Create actual function for module jvm (JVM)" "true" +// "Create actual function for module testModule_JVM (JVM)" "true" expect fun foo(arg: Int): String \ No newline at end of file diff --git a/idea/testData/multiModuleQuickFix/functionSameFile/header/header.kt b/idea/testData/multiModuleQuickFix/functionSameFile/header/header.kt index 6bebae011b9..2ca5c028eb2 100644 --- a/idea/testData/multiModuleQuickFix/functionSameFile/header/header.kt +++ b/idea/testData/multiModuleQuickFix/functionSameFile/header/header.kt @@ -1,4 +1,4 @@ -// "Create actual function for module jvm (JVM)" "true" +// "Create actual function for module testModule_JVM (JVM)" "true" expect fun bar() diff --git a/idea/testData/multiModuleQuickFix/functionSameFile/header/header.kt.after b/idea/testData/multiModuleQuickFix/functionSameFile/header/header.kt.after index 0ac6f4451a4..aac27d4759c 100644 --- a/idea/testData/multiModuleQuickFix/functionSameFile/header/header.kt.after +++ b/idea/testData/multiModuleQuickFix/functionSameFile/header/header.kt.after @@ -1,4 +1,4 @@ -// "Create actual function for module jvm (JVM)" "true" +// "Create actual function for module testModule_JVM (JVM)" "true" expect fun bar() diff --git a/idea/testData/multiModuleQuickFix/interface/header/header.kt b/idea/testData/multiModuleQuickFix/interface/header/header.kt index 7d3c62e5406..7bb9bfb765c 100644 --- a/idea/testData/multiModuleQuickFix/interface/header/header.kt +++ b/idea/testData/multiModuleQuickFix/interface/header/header.kt @@ -1,4 +1,4 @@ -// "Create actual interface for module jvm (JVM)" "true" +// "Create actual interface for module testModule_JVM (JVM)" "true" expect interface Interface { fun foo(param: String): Int diff --git a/idea/testData/multiModuleQuickFix/interface/header/header.kt.after b/idea/testData/multiModuleQuickFix/interface/header/header.kt.after index 81669c32e90..6101cc7b834 100644 --- a/idea/testData/multiModuleQuickFix/interface/header/header.kt.after +++ b/idea/testData/multiModuleQuickFix/interface/header/header.kt.after @@ -1,4 +1,4 @@ -// "Create actual interface for module jvm (JVM)" "true" +// "Create actual interface for module testModule_JVM (JVM)" "true" expect interface Interface { fun foo(param: String): Int diff --git a/idea/testData/multiModuleQuickFix/nested/header/header.kt b/idea/testData/multiModuleQuickFix/nested/header/header.kt index 062a19449bc..8d914b3988a 100644 --- a/idea/testData/multiModuleQuickFix/nested/header/header.kt +++ b/idea/testData/multiModuleQuickFix/nested/header/header.kt @@ -1,4 +1,4 @@ -// "Create actual class for module jvm (JVM)" "true" +// "Create actual class for module testModule_JVM (JVM)" "true" expect class WithNested { fun foo(): Int diff --git a/idea/testData/multiModuleQuickFix/nested/header/header.kt.after b/idea/testData/multiModuleQuickFix/nested/header/header.kt.after index 8cb486f26e2..71da8f3880c 100644 --- a/idea/testData/multiModuleQuickFix/nested/header/header.kt.after +++ b/idea/testData/multiModuleQuickFix/nested/header/header.kt.after @@ -1,4 +1,4 @@ -// "Create actual class for module jvm (JVM)" "true" +// "Create actual class for module testModule_JVM (JVM)" "true" expect class WithNested { fun foo(): Int diff --git a/idea/testData/multiModuleQuickFix/object/header/header.kt b/idea/testData/multiModuleQuickFix/object/header/header.kt index 71e315bbc61..58f28e7ce61 100644 --- a/idea/testData/multiModuleQuickFix/object/header/header.kt +++ b/idea/testData/multiModuleQuickFix/object/header/header.kt @@ -1,4 +1,4 @@ -// "Create actual object for module jvm (JVM)" "true" +// "Create actual object for module testModule_JVM (JVM)" "true" expect object Object { fun foo(): String diff --git a/idea/testData/multiModuleQuickFix/object/header/header.kt.after b/idea/testData/multiModuleQuickFix/object/header/header.kt.after index 65dc614f809..18089fc4208 100644 --- a/idea/testData/multiModuleQuickFix/object/header/header.kt.after +++ b/idea/testData/multiModuleQuickFix/object/header/header.kt.after @@ -1,4 +1,4 @@ -// "Create actual object for module jvm (JVM)" "true" +// "Create actual object for module testModule_JVM (JVM)" "true" expect object Object { fun foo(): String diff --git a/idea/testData/multiModuleQuickFix/overload/header/header.kt b/idea/testData/multiModuleQuickFix/overload/header/header.kt deleted file mode 100644 index fb196e31a8e..00000000000 --- a/idea/testData/multiModuleQuickFix/overload/header/header.kt +++ /dev/null @@ -1,5 +0,0 @@ -// "Create actual function for platform JVM" "true" - -expect fun foo(arg: Int): String - -expect fun foo(arg: String): String \ No newline at end of file diff --git a/idea/testData/multiModuleQuickFix/overload/header/header.kt.after b/idea/testData/multiModuleQuickFix/overload/header/header.kt.after deleted file mode 100644 index 529580f2a79..00000000000 --- a/idea/testData/multiModuleQuickFix/overload/header/header.kt.after +++ /dev/null @@ -1,5 +0,0 @@ -// "Create actual function for platform JVM" "true" - -expect fun foo(arg: Int): String - -expect fun foo(arg: String): String \ No newline at end of file diff --git a/idea/testData/multiModuleQuickFix/overload/jvm/foo.kt b/idea/testData/multiModuleQuickFix/overload/jvm/foo.kt deleted file mode 100644 index f2977b82c64..00000000000 --- a/idea/testData/multiModuleQuickFix/overload/jvm/foo.kt +++ /dev/null @@ -1,3 +0,0 @@ -// foo: to be implemented - -actual fun foo(arg: String) = arg \ No newline at end of file diff --git a/idea/testData/multiModuleQuickFix/overload/jvm/foo.kt.after b/idea/testData/multiModuleQuickFix/overload/jvm/foo.kt.after deleted file mode 100644 index 692ae78421c..00000000000 --- a/idea/testData/multiModuleQuickFix/overload/jvm/foo.kt.after +++ /dev/null @@ -1,7 +0,0 @@ -// foo: to be implemented - -actual fun foo(arg: String) = arg - -actual fun foo(arg: Int): String { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. -} \ No newline at end of file diff --git a/idea/testData/multiModuleQuickFix/package/header/header.kt b/idea/testData/multiModuleQuickFix/package/header/header.kt index fe46a8a147d..753701a2636 100644 --- a/idea/testData/multiModuleQuickFix/package/header/header.kt +++ b/idea/testData/multiModuleQuickFix/package/header/header.kt @@ -1,4 +1,4 @@ -// "Create actual class for module jvm (JVM)" "true" +// "Create actual class for module testModule_JVM (JVM)" "true" // SHOULD_BE_AVAILABLE_AFTER_EXECUTION package test.inner diff --git a/idea/testData/multiModuleQuickFix/package/header/header.kt.after b/idea/testData/multiModuleQuickFix/package/header/header.kt.after index 57184a10fe4..164a11dbcb5 100644 --- a/idea/testData/multiModuleQuickFix/package/header/header.kt.after +++ b/idea/testData/multiModuleQuickFix/package/header/header.kt.after @@ -1,4 +1,4 @@ -// "Create actual class for module jvm (JVM)" "true" +// "Create actual class for module testModule_JVM (JVM)" "true" // SHOULD_BE_AVAILABLE_AFTER_EXECUTION package test.inner diff --git a/idea/testData/multiModuleQuickFix/packageIncorrect/header/header.kt b/idea/testData/multiModuleQuickFix/packageIncorrect/header/header.kt index fe46a8a147d..753701a2636 100644 --- a/idea/testData/multiModuleQuickFix/packageIncorrect/header/header.kt +++ b/idea/testData/multiModuleQuickFix/packageIncorrect/header/header.kt @@ -1,4 +1,4 @@ -// "Create actual class for module jvm (JVM)" "true" +// "Create actual class for module testModule_JVM (JVM)" "true" // SHOULD_BE_AVAILABLE_AFTER_EXECUTION package test.inner diff --git a/idea/testData/multiModuleQuickFix/packageIncorrect/header/header.kt.after b/idea/testData/multiModuleQuickFix/packageIncorrect/header/header.kt.after index 57184a10fe4..164a11dbcb5 100644 --- a/idea/testData/multiModuleQuickFix/packageIncorrect/header/header.kt.after +++ b/idea/testData/multiModuleQuickFix/packageIncorrect/header/header.kt.after @@ -1,4 +1,4 @@ -// "Create actual class for module jvm (JVM)" "true" +// "Create actual class for module testModule_JVM (JVM)" "true" // SHOULD_BE_AVAILABLE_AFTER_EXECUTION package test.inner diff --git a/idea/testData/multiModuleQuickFix/packageIncorrectEmpty/header/header.kt b/idea/testData/multiModuleQuickFix/packageIncorrectEmpty/header/header.kt index fe46a8a147d..753701a2636 100644 --- a/idea/testData/multiModuleQuickFix/packageIncorrectEmpty/header/header.kt +++ b/idea/testData/multiModuleQuickFix/packageIncorrectEmpty/header/header.kt @@ -1,4 +1,4 @@ -// "Create actual class for module jvm (JVM)" "true" +// "Create actual class for module testModule_JVM (JVM)" "true" // SHOULD_BE_AVAILABLE_AFTER_EXECUTION package test.inner diff --git a/idea/testData/multiModuleQuickFix/packageIncorrectEmpty/header/header.kt.after b/idea/testData/multiModuleQuickFix/packageIncorrectEmpty/header/header.kt.after index 57184a10fe4..164a11dbcb5 100644 --- a/idea/testData/multiModuleQuickFix/packageIncorrectEmpty/header/header.kt.after +++ b/idea/testData/multiModuleQuickFix/packageIncorrectEmpty/header/header.kt.after @@ -1,4 +1,4 @@ -// "Create actual class for module jvm (JVM)" "true" +// "Create actual class for module testModule_JVM (JVM)" "true" // SHOULD_BE_AVAILABLE_AFTER_EXECUTION package test.inner diff --git a/idea/testData/multiModuleQuickFix/primaryConstructor/header/header.kt b/idea/testData/multiModuleQuickFix/primaryConstructor/header/header.kt index f3f96221333..c7ac1c554de 100644 --- a/idea/testData/multiModuleQuickFix/primaryConstructor/header/header.kt +++ b/idea/testData/multiModuleQuickFix/primaryConstructor/header/header.kt @@ -1,3 +1,3 @@ -// "Create actual class for module jvm (JVM)" "true" +// "Create actual class for module testModule_JVM (JVM)" "true" expect class WithPrimaryConstructor(x: Int, s: String) \ No newline at end of file diff --git a/idea/testData/multiModuleQuickFix/primaryConstructor/header/header.kt.after b/idea/testData/multiModuleQuickFix/primaryConstructor/header/header.kt.after index 57cef1fd46c..d337781fc92 100644 --- a/idea/testData/multiModuleQuickFix/primaryConstructor/header/header.kt.after +++ b/idea/testData/multiModuleQuickFix/primaryConstructor/header/header.kt.after @@ -1,3 +1,3 @@ -// "Create actual class for module jvm (JVM)" "true" +// "Create actual class for module testModule_JVM (JVM)" "true" expect class WithPrimaryConstructor(x: Int, s: String) \ No newline at end of file diff --git a/idea/testData/multiModuleQuickFix/property/header/header.kt b/idea/testData/multiModuleQuickFix/property/header/header.kt index 7ba1a8ef4f9..c2b1687211f 100644 --- a/idea/testData/multiModuleQuickFix/property/header/header.kt +++ b/idea/testData/multiModuleQuickFix/property/header/header.kt @@ -1,3 +1,3 @@ -// "Create actual property for module jvm (JVM)" "true" +// "Create actual property for module testModule_JVM (JVM)" "true" expect var x: Int \ No newline at end of file diff --git a/idea/testData/multiModuleQuickFix/property/header/header.kt.after b/idea/testData/multiModuleQuickFix/property/header/header.kt.after index e3d1a2d3293..ec81d2aa26c 100644 --- a/idea/testData/multiModuleQuickFix/property/header/header.kt.after +++ b/idea/testData/multiModuleQuickFix/property/header/header.kt.after @@ -1,3 +1,3 @@ -// "Create actual property for module jvm (JVM)" "true" +// "Create actual property for module testModule_JVM (JVM)" "true" expect var x: Int \ No newline at end of file diff --git a/idea/testData/multiModuleQuickFix/sealed/header/header.kt b/idea/testData/multiModuleQuickFix/sealed/header/header.kt index 99b569205e0..4e4e7ad14b0 100644 --- a/idea/testData/multiModuleQuickFix/sealed/header/header.kt +++ b/idea/testData/multiModuleQuickFix/sealed/header/header.kt @@ -1,4 +1,4 @@ -// "Create actual class for module js (JS)" "true" +// "Create actual class for module testModule_JS (JS)" "true" expect sealed class Sealed { object Obj : Sealed diff --git a/idea/testData/multiModuleQuickFix/sealed/header/header.kt.after b/idea/testData/multiModuleQuickFix/sealed/header/header.kt.after index f3f5427a3ee..2f57bfd3ba5 100644 --- a/idea/testData/multiModuleQuickFix/sealed/header/header.kt.after +++ b/idea/testData/multiModuleQuickFix/sealed/header/header.kt.after @@ -1,4 +1,4 @@ -// "Create actual class for module js (JS)" "true" +// "Create actual class for module testModule_JS (JS)" "true" expect sealed class Sealed { object Obj : Sealed diff --git a/idea/testData/multiModuleQuickFix/sealedSubclass/header/header.kt b/idea/testData/multiModuleQuickFix/sealedSubclass/header/header.kt index b3bf7037771..3c3c226ec02 100644 --- a/idea/testData/multiModuleQuickFix/sealedSubclass/header/header.kt +++ b/idea/testData/multiModuleQuickFix/sealedSubclass/header/header.kt @@ -1,4 +1,4 @@ -// "Create actual class for module js (JS)" "true" +// "Create actual class for module testModule_JS (JS)" "true" expect sealed class Sealed diff --git a/idea/testData/multiModuleQuickFix/sealedSubclass/header/header.kt.after b/idea/testData/multiModuleQuickFix/sealedSubclass/header/header.kt.after index 1291269b293..6ccca5ef511 100644 --- a/idea/testData/multiModuleQuickFix/sealedSubclass/header/header.kt.after +++ b/idea/testData/multiModuleQuickFix/sealedSubclass/header/header.kt.after @@ -1,4 +1,4 @@ -// "Create actual class for module js (JS)" "true" +// "Create actual class for module testModule_JS (JS)" "true" expect sealed class Sealed diff --git a/idea/testData/multiModuleQuickFix/withFakeJvm/a_common/header.kt b/idea/testData/multiModuleQuickFix/withFakeJvm/a_common/header.kt new file mode 100644 index 00000000000..68a2b925fbc --- /dev/null +++ b/idea/testData/multiModuleQuickFix/withFakeJvm/a_common/header.kt @@ -0,0 +1,3 @@ +// "Create actual function for module a_JVM (JVM)" "true" + +expect fun foo(arg: Int): String \ No newline at end of file diff --git a/idea/testData/multiModuleQuickFix/withFakeJvm/a_common/header.kt.after b/idea/testData/multiModuleQuickFix/withFakeJvm/a_common/header.kt.after new file mode 100644 index 00000000000..34c236b3d47 --- /dev/null +++ b/idea/testData/multiModuleQuickFix/withFakeJvm/a_common/header.kt.after @@ -0,0 +1,3 @@ +// "Create actual function for module a_JVM (JVM)" "true" + +expect fun foo(arg: Int): String \ No newline at end of file diff --git a/idea/testData/multiModuleQuickFix/withFakeJvm/jvm/foo.kt b/idea/testData/multiModuleQuickFix/withFakeJvm/a_jvm/foo.kt similarity index 100% rename from idea/testData/multiModuleQuickFix/withFakeJvm/jvm/foo.kt rename to idea/testData/multiModuleQuickFix/withFakeJvm/a_jvm/foo.kt diff --git a/idea/testData/multiModuleQuickFix/withFakeJvm/jvm/foo.kt.after b/idea/testData/multiModuleQuickFix/withFakeJvm/a_jvm/foo.kt.after similarity index 100% rename from idea/testData/multiModuleQuickFix/withFakeJvm/jvm/foo.kt.after rename to idea/testData/multiModuleQuickFix/withFakeJvm/a_jvm/foo.kt.after diff --git a/idea/testData/multiModuleQuickFix/withFakeJvm/fake_jvm/foo.kt b/idea/testData/multiModuleQuickFix/withFakeJvm/b_jvm_dep(a-common)/foo.kt similarity index 100% rename from idea/testData/multiModuleQuickFix/withFakeJvm/fake_jvm/foo.kt rename to idea/testData/multiModuleQuickFix/withFakeJvm/b_jvm_dep(a-common)/foo.kt diff --git a/idea/testData/multiModuleQuickFix/withFakeJvm/fake_jvm/foo.kt.after b/idea/testData/multiModuleQuickFix/withFakeJvm/b_jvm_dep(a-common)/foo.kt.after similarity index 100% rename from idea/testData/multiModuleQuickFix/withFakeJvm/fake_jvm/foo.kt.after rename to idea/testData/multiModuleQuickFix/withFakeJvm/b_jvm_dep(a-common)/foo.kt.after diff --git a/idea/testData/multiModuleQuickFix/withFakeJvm/header/header.kt b/idea/testData/multiModuleQuickFix/withFakeJvm/header/header.kt deleted file mode 100644 index b3753123b4f..00000000000 --- a/idea/testData/multiModuleQuickFix/withFakeJvm/header/header.kt +++ /dev/null @@ -1,3 +0,0 @@ -// "Create actual function for module jvm (JVM)" "true" - -expect fun foo(arg: Int): String \ No newline at end of file diff --git a/idea/testData/multiModuleQuickFix/withFakeJvm/header/header.kt.after b/idea/testData/multiModuleQuickFix/withFakeJvm/header/header.kt.after deleted file mode 100644 index f23753e3173..00000000000 --- a/idea/testData/multiModuleQuickFix/withFakeJvm/header/header.kt.after +++ /dev/null @@ -1,3 +0,0 @@ -// "Create actual function for module jvm (JVM)" "true" - -expect fun foo(arg: Int): String \ No newline at end of file diff --git a/idea/testData/multiModuleQuickFix/withTest/common/common.kt b/idea/testData/multiModuleQuickFix/withTest/a_common/common.kt similarity index 100% rename from idea/testData/multiModuleQuickFix/withTest/common/common.kt rename to idea/testData/multiModuleQuickFix/withTest/a_common/common.kt diff --git a/idea/testData/multiModuleQuickFix/withTest/common/common.kt.after b/idea/testData/multiModuleQuickFix/withTest/a_common/common.kt.after similarity index 100% rename from idea/testData/multiModuleQuickFix/withTest/common/common.kt.after rename to idea/testData/multiModuleQuickFix/withTest/a_common/common.kt.after diff --git a/idea/testData/multiModuleQuickFix/withTest/a_common_test/test/test.kt b/idea/testData/multiModuleQuickFix/withTest/a_common_test/test/test.kt new file mode 100644 index 00000000000..de8d6bb0081 --- /dev/null +++ b/idea/testData/multiModuleQuickFix/withTest/a_common_test/test/test.kt @@ -0,0 +1,6 @@ +// "Create actual function for module a_JVM (JVM)" "true" +// TEST + +package test + +expect fun testHelper() \ No newline at end of file diff --git a/idea/testData/multiModuleQuickFix/withTest/a_common_test/test/test.kt.after b/idea/testData/multiModuleQuickFix/withTest/a_common_test/test/test.kt.after new file mode 100644 index 00000000000..17ca1016b1c --- /dev/null +++ b/idea/testData/multiModuleQuickFix/withTest/a_common_test/test/test.kt.after @@ -0,0 +1,6 @@ +// "Create actual function for module a_JVM (JVM)" "true" +// TEST + +package test + +expect fun testHelper() \ No newline at end of file diff --git a/idea/testData/multiModuleQuickFix/withTest/jvm/testHelper.kt b/idea/testData/multiModuleQuickFix/withTest/a_jvm/testHelper.kt similarity index 100% rename from idea/testData/multiModuleQuickFix/withTest/jvm/testHelper.kt rename to idea/testData/multiModuleQuickFix/withTest/a_jvm/testHelper.kt diff --git a/idea/testData/multiModuleQuickFix/withTest/jvm/testHelper.kt.after b/idea/testData/multiModuleQuickFix/withTest/a_jvm/testHelper.kt.after similarity index 100% rename from idea/testData/multiModuleQuickFix/withTest/jvm/testHelper.kt.after rename to idea/testData/multiModuleQuickFix/withTest/a_jvm/testHelper.kt.after diff --git a/idea/testData/multiModuleQuickFix/withTest/jvmTest/test/testHelper.kt b/idea/testData/multiModuleQuickFix/withTest/a_jvm_test/test/testHelper.kt similarity index 100% rename from idea/testData/multiModuleQuickFix/withTest/jvmTest/test/testHelper.kt rename to idea/testData/multiModuleQuickFix/withTest/a_jvm_test/test/testHelper.kt diff --git a/idea/testData/multiModuleQuickFix/withTest/jvmTest/test/testHelper.kt.after b/idea/testData/multiModuleQuickFix/withTest/a_jvm_test/test/testHelper.kt.after similarity index 100% rename from idea/testData/multiModuleQuickFix/withTest/jvmTest/test/testHelper.kt.after rename to idea/testData/multiModuleQuickFix/withTest/a_jvm_test/test/testHelper.kt.after diff --git a/idea/testData/multiModuleQuickFix/withTest/commonTest/test/test.kt b/idea/testData/multiModuleQuickFix/withTest/commonTest/test/test.kt deleted file mode 100644 index 70b902f3b54..00000000000 --- a/idea/testData/multiModuleQuickFix/withTest/commonTest/test/test.kt +++ /dev/null @@ -1,6 +0,0 @@ -// "Create actual function for module jvm (JVM)" "true" -// TEST - -package test - -expect fun testHelper() \ No newline at end of file diff --git a/idea/testData/multiModuleQuickFix/withTest/commonTest/test/test.kt.after b/idea/testData/multiModuleQuickFix/withTest/commonTest/test/test.kt.after deleted file mode 100644 index f7499f254ee..00000000000 --- a/idea/testData/multiModuleQuickFix/withTest/commonTest/test/test.kt.after +++ /dev/null @@ -1,6 +0,0 @@ -// "Create actual function for module jvm (JVM)" "true" -// TEST - -package test - -expect fun testHelper() \ No newline at end of file diff --git a/idea/testData/multiModuleQuickFix/withTestDummy/a_common/common.kt b/idea/testData/multiModuleQuickFix/withTestDummy/a_common/common.kt new file mode 100644 index 00000000000..e93cd2d68c4 --- /dev/null +++ b/idea/testData/multiModuleQuickFix/withTestDummy/a_common/common.kt @@ -0,0 +1,3 @@ +// "Create actual function for module a_JVM (JVM)" "true" + +expect fun testHelper() \ No newline at end of file diff --git a/idea/testData/multiModuleQuickFix/withTestDummy/a_common/common.kt.after b/idea/testData/multiModuleQuickFix/withTestDummy/a_common/common.kt.after new file mode 100644 index 00000000000..839b50028b2 --- /dev/null +++ b/idea/testData/multiModuleQuickFix/withTestDummy/a_common/common.kt.after @@ -0,0 +1,3 @@ +// "Create actual function for module a_JVM (JVM)" "true" + +expect fun testHelper() \ No newline at end of file diff --git a/idea/testData/multiModuleQuickFix/withTestDummy/commonTest/test.kt b/idea/testData/multiModuleQuickFix/withTestDummy/a_common_test/test.kt similarity index 100% rename from idea/testData/multiModuleQuickFix/withTestDummy/commonTest/test.kt rename to idea/testData/multiModuleQuickFix/withTestDummy/a_common_test/test.kt diff --git a/idea/testData/multiModuleQuickFix/withTestDummy/commonTest/test.kt.after b/idea/testData/multiModuleQuickFix/withTestDummy/a_common_test/test.kt.after similarity index 100% rename from idea/testData/multiModuleQuickFix/withTestDummy/commonTest/test.kt.after rename to idea/testData/multiModuleQuickFix/withTestDummy/a_common_test/test.kt.after diff --git a/idea/testData/multiModuleQuickFix/withTestDummy/jvm/testHelper.kt b/idea/testData/multiModuleQuickFix/withTestDummy/a_jvm/testHelper.kt similarity index 100% rename from idea/testData/multiModuleQuickFix/withTestDummy/jvm/testHelper.kt rename to idea/testData/multiModuleQuickFix/withTestDummy/a_jvm/testHelper.kt diff --git a/idea/testData/multiModuleQuickFix/withTestDummy/jvm/testHelper.kt.after b/idea/testData/multiModuleQuickFix/withTestDummy/a_jvm/testHelper.kt.after similarity index 100% rename from idea/testData/multiModuleQuickFix/withTestDummy/jvm/testHelper.kt.after rename to idea/testData/multiModuleQuickFix/withTestDummy/a_jvm/testHelper.kt.after diff --git a/idea/testData/multiModuleQuickFix/withTestDummy/jvmTest/testHelper.kt b/idea/testData/multiModuleQuickFix/withTestDummy/a_jvm_test/testHelper.kt similarity index 100% rename from idea/testData/multiModuleQuickFix/withTestDummy/jvmTest/testHelper.kt rename to idea/testData/multiModuleQuickFix/withTestDummy/a_jvm_test/testHelper.kt diff --git a/idea/testData/multiModuleQuickFix/withTestDummy/jvmTest/testHelper.kt.after b/idea/testData/multiModuleQuickFix/withTestDummy/a_jvm_test/testHelper.kt.after similarity index 100% rename from idea/testData/multiModuleQuickFix/withTestDummy/jvmTest/testHelper.kt.after rename to idea/testData/multiModuleQuickFix/withTestDummy/a_jvm_test/testHelper.kt.after diff --git a/idea/testData/multiModuleQuickFix/withTestDummy/common/common.kt b/idea/testData/multiModuleQuickFix/withTestDummy/common/common.kt deleted file mode 100644 index f77c01cab31..00000000000 --- a/idea/testData/multiModuleQuickFix/withTestDummy/common/common.kt +++ /dev/null @@ -1,3 +0,0 @@ -// "Create actual function for module jvm (JVM)" "true" - -expect fun testHelper() \ No newline at end of file diff --git a/idea/testData/multiModuleQuickFix/withTestDummy/common/common.kt.after b/idea/testData/multiModuleQuickFix/withTestDummy/common/common.kt.after deleted file mode 100644 index fd665d5968b..00000000000 --- a/idea/testData/multiModuleQuickFix/withTestDummy/common/common.kt.after +++ /dev/null @@ -1,3 +0,0 @@ -// "Create actual function for module jvm (JVM)" "true" - -expect fun testHelper() \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/quickfix/AbstractQuickFixMultiModuleTest.kt b/idea/tests/org/jetbrains/kotlin/idea/quickfix/AbstractQuickFixMultiModuleTest.kt index e83455287c5..b390cf9f189 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/quickfix/AbstractQuickFixMultiModuleTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/quickfix/AbstractQuickFixMultiModuleTest.kt @@ -12,6 +12,7 @@ import com.intellij.openapi.command.CommandProcessor import junit.framework.ComparisonFailure import junit.framework.TestCase import org.jetbrains.kotlin.idea.inspections.findExistingEditor +import org.jetbrains.kotlin.idea.multiplatform.setupMppProjectFromDirStructure import org.jetbrains.kotlin.idea.stubs.AbstractMultiModuleTest import org.jetbrains.kotlin.idea.test.DirectiveBasedActionUtils import org.jetbrains.kotlin.idea.test.PluginTestCaseBase @@ -25,7 +26,12 @@ abstract class AbstractQuickFixMultiModuleTest : AbstractMultiModuleTest() { override fun getTestDataPath() = PluginTestCaseBase.getTestDataPathBase() + "/multiModuleQuickFix/" - protected fun doQuickFixTest() { + fun doTest(dirPath: String) { + setupMppProjectFromDirStructure(File(dirPath)) + doQuickFixTest() + } + + private fun doQuickFixTest() { val allFilesInProject = project.allKotlinFiles() val actionFile = allFilesInProject.single { file -> file.text.contains("// \"") diff --git a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiModuleTest.kt b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiModuleTest.kt deleted file mode 100644 index 846e0eb08d0..00000000000 --- a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiModuleTest.kt +++ /dev/null @@ -1,288 +0,0 @@ -/* - * Copyright 2010-2016 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.idea.quickfix - -import org.jetbrains.kotlin.config.JvmTarget -import org.jetbrains.kotlin.config.TargetPlatformKind -import org.jetbrains.kotlin.idea.stubs.createFacet -import org.junit.Test - -class QuickFixMultiModuleTest : AbstractQuickFixMultiModuleTest() { - private fun doMultiPlatformTest( - expectName: String = "header", // todo: change dir name - vararg impls: Pair> = arrayOf("jvm" to TargetPlatformKind.Jvm[JvmTarget.JVM_1_6]), - withTests: Boolean = false - ) { - val commonModule = module(expectName, hasTestRoot = withTests) - commonModule.createFacet(TargetPlatformKind.Common, false) - - impls.forEach { (implName, implKind) -> - val implModule = module(implName, hasTestRoot = withTests) - implModule.createFacet(implKind, implementedModuleName = expectName) - implModule.enableMultiPlatform() - implModule.addDependency(commonModule) - } - - doQuickFixTest() - } - - private fun doTestHeaderWithJvmAndJs() { - doMultiPlatformTest(impls = *arrayOf("jvm" to TargetPlatformKind.Jvm[JvmTarget.JVM_1_6], "js" to TargetPlatformKind.JavaScript)) - } - - @Test - fun testAbstract() { - doMultiPlatformTest(impls = *arrayOf("js" to TargetPlatformKind.JavaScript)) - } - - @Test - fun testAnnotation() { - doMultiPlatformTest() - } - - @Test - fun testClass() { - doMultiPlatformTest() - } - - @Test - fun testClassFunction() { - doMultiPlatformTest() - } - - @Test - fun testClassOverloadedFunction() { - doMultiPlatformTest() - } - - @Test - fun testClassSomeProperties() { - doMultiPlatformTest() - } - - @Test - fun testCompanionAbsence() { - doMultiPlatformTest() - } - - @Test - fun testDeprecatedHeader() { - doMultiPlatformTest() - } - - @Test - fun testDeprecatedHeaderImpl() { - doMultiPlatformTest() - } - - @Test - fun testDeprecatedImpl() { - doMultiPlatformTest() - } - - @Test - fun testDeprecatedImplHeader() { - doMultiPlatformTest() - } - - @Test - fun testEnum() { - doMultiPlatformTest(impls = *arrayOf("js" to TargetPlatformKind.JavaScript)) - } - - @Test - fun testFunction() { - doMultiPlatformTest() - } - - @Test - fun testFunctionSameFile() { - doMultiPlatformTest() - } - - @Test - fun testInterface() { - doMultiPlatformTest() - } - - @Test - fun testNested() { - doMultiPlatformTest() - } - - @Test - fun testObject() { - doMultiPlatformTest() - } - - @Test - fun testOrderHeader() { - doMultiPlatformTest() - } - - @Test - fun testOrderImpl() { - doMultiPlatformTest() - } - - @Test - fun testPackage() { - doMultiPlatformTest() - } - - @Test - fun testPackageIncorrect() { - doMultiPlatformTest() - } - - @Test - fun testPackageIncorrectEmpty() { - doMultiPlatformTest() - } - - @Test - fun testPrimaryConstructor() { - doMultiPlatformTest() - } - - @Test - fun testPrimaryConstructorAbsence() { - doMultiPlatformTest() - } - - @Test - fun testProperty() { - doMultiPlatformTest() - } - - @Test - fun testSealed() { - doMultiPlatformTest(impls = *arrayOf("js" to TargetPlatformKind.JavaScript)) - } - - @Test - fun testSealedSubclass() { - doMultiPlatformTest(impls = *arrayOf("js" to TargetPlatformKind.JavaScript)) - } - - @Test - fun testSecondaryConstructorAbsence() { - doMultiPlatformTest() - } - - @Test - fun testWithFakeJvm() { - val commonModule = module("header") - commonModule.createFacet(TargetPlatformKind.Common, false) - val jvmKind = TargetPlatformKind.Jvm[JvmTarget.JVM_1_6] - arrayOf("fake_jvm" to jvmKind, "jvm" to jvmKind).forEach { (implName, implKind) -> - val implModule = module(implName) - implModule.createFacet(implKind, implementedModuleName = "header".takeIf { implName == "jvm" }) - implModule.enableMultiPlatform() - implModule.addDependency(commonModule) - } - doQuickFixTest() - } - - @Test - fun testWithTest() { - doMultiPlatformTest(expectName = "common", withTests = true) - } - - @Test - fun testWithTestDummy() { - doMultiPlatformTest(expectName = "common", withTests = true) - } - - @Test - fun testMemberFunToExtensionByHeader() = doTestHeaderWithJvmAndJs() - - @Test - fun testMemberFunToExtensionByImpl() = doTestHeaderWithJvmAndJs() - - @Test - fun testMemberValToExtensionByHeader() = doTestHeaderWithJvmAndJs() - - @Test - fun testMemberValToExtensionByHeaderWithInapplicableImpl() = doTestHeaderWithJvmAndJs() - - @Test - fun testMemberValToExtensionByImpl() = doTestHeaderWithJvmAndJs() - - @Test - fun testAddOperatorByHeader() = doTestHeaderWithJvmAndJs() - - @Test - fun testAddOperatorByImpl() = doTestHeaderWithJvmAndJs() - - @Test - fun testMemberFunReceiverToParameterByHeader() = doTestHeaderWithJvmAndJs() - - @Test - fun testMemberFunReceiverToParameterByImpl() = doTestHeaderWithJvmAndJs() - - @Test - fun testMemberFunParameterToReceiverByHeader() = doTestHeaderWithJvmAndJs() - - @Test - fun testMemberFunParameterToReceiverByImpl() = doTestHeaderWithJvmAndJs() - - @Test - fun testFunctionTypeParameterToReceiverByHeader() = doTestHeaderWithJvmAndJs() - - @Test - fun testFunctionTypeParameterToReceiverByImpl() = doTestHeaderWithJvmAndJs() - - @Test - fun testFunctionTypeReceiverToParameterByHeader() = doTestHeaderWithJvmAndJs() - - @Test - fun testFunctionTypeReceiverToParameterByImpl() = doTestHeaderWithJvmAndJs() - - @Test - fun testImplementMembersInImplClassNonImplInheritor() = doMultiPlatformTest() - - @Test - fun testAddActualToClass() = doMultiPlatformTest() - - @Test - fun testAddActualToClassMember() = doMultiPlatformTest() - - @Test - fun testAddActualToTopLevelMember() = doMultiPlatformTest() - - @Test - fun testCreateFunInExpectClass() = doMultiPlatformTest() - - @Test - fun testCreateValInExpectClass() = doMultiPlatformTest() - - @Test - fun testCreateVarInExpectClass() = doMultiPlatformTest() - - @Test - fun testConvertExpectSealedClassToEnum() = doTestHeaderWithJvmAndJs() - - @Test - fun testConvertActualSealedClassToEnum() = doTestHeaderWithJvmAndJs() - - @Test - fun testConvertExpectEnumToSealedClass() = doTestHeaderWithJvmAndJs() - - @Test - fun testConvertActualEnumToSealedClass() = doTestHeaderWithJvmAndJs() -} diff --git a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiModuleTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiModuleTestGenerated.java new file mode 100644 index 00000000000..491ced92eb3 --- /dev/null +++ b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiModuleTestGenerated.java @@ -0,0 +1,369 @@ +/* + * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.idea.quickfix; + +import com.intellij.testFramework.TestDataPath; +import org.jetbrains.kotlin.test.JUnit3RunnerWithInners; +import org.jetbrains.kotlin.test.KotlinTestUtils; +import org.jetbrains.kotlin.test.TargetBackend; +import org.jetbrains.kotlin.test.TestMetadata; +import org.junit.runner.RunWith; + +import java.io.File; +import java.util.regex.Pattern; + +/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */ +@SuppressWarnings("all") +@TestMetadata("idea/testData/multiModuleQuickFix") +@TestDataPath("$PROJECT_ROOT") +@RunWith(JUnit3RunnerWithInners.class) +public class QuickFixMultiModuleTestGenerated extends AbstractQuickFixMultiModuleTest { + @TestMetadata("abstract") + public void testAbstract() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/abstract/"); + doTest(fileName); + } + + @TestMetadata("addActualToClass") + public void testAddActualToClass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/addActualToClass/"); + doTest(fileName); + } + + @TestMetadata("addActualToClassMember") + public void testAddActualToClassMember() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/addActualToClassMember/"); + doTest(fileName); + } + + @TestMetadata("addActualToTopLevelMember") + public void testAddActualToTopLevelMember() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/addActualToTopLevelMember/"); + doTest(fileName); + } + + @TestMetadata("addOperatorByHeader") + public void testAddOperatorByHeader() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/addOperatorByHeader/"); + doTest(fileName); + } + + @TestMetadata("addOperatorByImpl") + public void testAddOperatorByImpl() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/addOperatorByImpl/"); + doTest(fileName); + } + + public void testAllFilesPresentInMultiModuleQuickFix() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/multiModuleQuickFix"), Pattern.compile("^([^\\.]+)$"), TargetBackend.ANY, false); + } + + @TestMetadata("annotation") + public void testAnnotation() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/annotation/"); + doTest(fileName); + } + + @TestMetadata("class") + public void testClass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/class/"); + doTest(fileName); + } + + @TestMetadata("classFunction") + public void testClassFunction() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/classFunction/"); + doTest(fileName); + } + + @TestMetadata("classOverloadedFunction") + public void testClassOverloadedFunction() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/classOverloadedFunction/"); + doTest(fileName); + } + + @TestMetadata("classSomeProperties") + public void testClassSomeProperties() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/classSomeProperties/"); + doTest(fileName); + } + + @TestMetadata("companionAbsence") + public void testCompanionAbsence() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/companionAbsence/"); + doTest(fileName); + } + + @TestMetadata("convertActualEnumToSealedClass") + public void testConvertActualEnumToSealedClass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/convertActualEnumToSealedClass/"); + doTest(fileName); + } + + @TestMetadata("convertActualSealedClassToEnum") + public void testConvertActualSealedClassToEnum() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/convertActualSealedClassToEnum/"); + doTest(fileName); + } + + @TestMetadata("convertExpectEnumToSealedClass") + public void testConvertExpectEnumToSealedClass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/convertExpectEnumToSealedClass/"); + doTest(fileName); + } + + @TestMetadata("convertExpectSealedClassToEnum") + public void testConvertExpectSealedClassToEnum() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/convertExpectSealedClassToEnum/"); + doTest(fileName); + } + + @TestMetadata("createFunInExpectClass") + public void testCreateFunInExpectClass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/createFunInExpectClass/"); + doTest(fileName); + } + + @TestMetadata("createValInExpectClass") + public void testCreateValInExpectClass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/createValInExpectClass/"); + doTest(fileName); + } + + @TestMetadata("createVarInExpectClass") + public void testCreateVarInExpectClass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/createVarInExpectClass/"); + doTest(fileName); + } + + @TestMetadata("deprecatedHeader") + public void testDeprecatedHeader() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/deprecatedHeader/"); + doTest(fileName); + } + + @TestMetadata("deprecatedHeaderImpl") + public void testDeprecatedHeaderImpl() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/deprecatedHeaderImpl/"); + doTest(fileName); + } + + @TestMetadata("deprecatedImpl") + public void testDeprecatedImpl() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/deprecatedImpl/"); + doTest(fileName); + } + + @TestMetadata("deprecatedImplHeader") + public void testDeprecatedImplHeader() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/deprecatedImplHeader/"); + doTest(fileName); + } + + @TestMetadata("enum") + public void testEnum() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/enum/"); + doTest(fileName); + } + + @TestMetadata("function") + public void testFunction() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/function/"); + doTest(fileName); + } + + @TestMetadata("functionSameFile") + public void testFunctionSameFile() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/functionSameFile/"); + doTest(fileName); + } + + @TestMetadata("functionTypeParameterToReceiverByHeader") + public void testFunctionTypeParameterToReceiverByHeader() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/functionTypeParameterToReceiverByHeader/"); + doTest(fileName); + } + + @TestMetadata("functionTypeParameterToReceiverByImpl") + public void testFunctionTypeParameterToReceiverByImpl() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/functionTypeParameterToReceiverByImpl/"); + doTest(fileName); + } + + @TestMetadata("functionTypeReceiverToParameterByHeader") + public void testFunctionTypeReceiverToParameterByHeader() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/functionTypeReceiverToParameterByHeader/"); + doTest(fileName); + } + + @TestMetadata("functionTypeReceiverToParameterByImpl") + public void testFunctionTypeReceiverToParameterByImpl() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/functionTypeReceiverToParameterByImpl/"); + doTest(fileName); + } + + @TestMetadata("implementMembersInImplClassNonImplInheritor") + public void testImplementMembersInImplClassNonImplInheritor() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/implementMembersInImplClassNonImplInheritor/"); + doTest(fileName); + } + + @TestMetadata("interface") + public void testInterface() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/interface/"); + doTest(fileName); + } + + @TestMetadata("memberFunParameterToReceiverByHeader") + public void testMemberFunParameterToReceiverByHeader() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/memberFunParameterToReceiverByHeader/"); + doTest(fileName); + } + + @TestMetadata("memberFunParameterToReceiverByImpl") + public void testMemberFunParameterToReceiverByImpl() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/memberFunParameterToReceiverByImpl/"); + doTest(fileName); + } + + @TestMetadata("memberFunReceiverToParameterByHeader") + public void testMemberFunReceiverToParameterByHeader() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/memberFunReceiverToParameterByHeader/"); + doTest(fileName); + } + + @TestMetadata("memberFunReceiverToParameterByImpl") + public void testMemberFunReceiverToParameterByImpl() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/memberFunReceiverToParameterByImpl/"); + doTest(fileName); + } + + @TestMetadata("memberFunToExtensionByHeader") + public void testMemberFunToExtensionByHeader() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/memberFunToExtensionByHeader/"); + doTest(fileName); + } + + @TestMetadata("memberFunToExtensionByImpl") + public void testMemberFunToExtensionByImpl() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/memberFunToExtensionByImpl/"); + doTest(fileName); + } + + @TestMetadata("memberValToExtensionByHeader") + public void testMemberValToExtensionByHeader() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/memberValToExtensionByHeader/"); + doTest(fileName); + } + + @TestMetadata("memberValToExtensionByHeaderWithInapplicableImpl") + public void testMemberValToExtensionByHeaderWithInapplicableImpl() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/memberValToExtensionByHeaderWithInapplicableImpl/"); + doTest(fileName); + } + + @TestMetadata("memberValToExtensionByImpl") + public void testMemberValToExtensionByImpl() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/memberValToExtensionByImpl/"); + doTest(fileName); + } + + @TestMetadata("nested") + public void testNested() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/nested/"); + doTest(fileName); + } + + @TestMetadata("object") + public void testObject() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/object/"); + doTest(fileName); + } + + @TestMetadata("orderHeader") + public void testOrderHeader() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/orderHeader/"); + doTest(fileName); + } + + @TestMetadata("orderImpl") + public void testOrderImpl() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/orderImpl/"); + doTest(fileName); + } + + @TestMetadata("package") + public void testPackage() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/package/"); + doTest(fileName); + } + + @TestMetadata("packageIncorrect") + public void testPackageIncorrect() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/packageIncorrect/"); + doTest(fileName); + } + + @TestMetadata("packageIncorrectEmpty") + public void testPackageIncorrectEmpty() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/packageIncorrectEmpty/"); + doTest(fileName); + } + + @TestMetadata("primaryConstructor") + public void testPrimaryConstructor() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/primaryConstructor/"); + doTest(fileName); + } + + @TestMetadata("primaryConstructorAbsence") + public void testPrimaryConstructorAbsence() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/primaryConstructorAbsence/"); + doTest(fileName); + } + + @TestMetadata("property") + public void testProperty() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/property/"); + doTest(fileName); + } + + @TestMetadata("sealed") + public void testSealed() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/sealed/"); + doTest(fileName); + } + + @TestMetadata("sealedSubclass") + public void testSealedSubclass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/sealedSubclass/"); + doTest(fileName); + } + + @TestMetadata("secondaryConstructorAbsence") + public void testSecondaryConstructorAbsence() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/secondaryConstructorAbsence/"); + doTest(fileName); + } + + @TestMetadata("withFakeJvm") + public void testWithFakeJvm() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/withFakeJvm/"); + doTest(fileName); + } + + @TestMetadata("withTest") + public void testWithTest() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/withTest/"); + doTest(fileName); + } + + @TestMetadata("withTestDummy") + public void testWithTestDummy() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiModuleQuickFix/withTestDummy/"); + doTest(fileName); + } +}