From c87cc0dde14dafc56c50d03d5189c43509a3b492 Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Wed, 5 Mar 2014 15:59:50 +0400 Subject: [PATCH] Optimize Imports tests: Switch to generated approach Move test and rename test data Delete unused testdata Rewrite OptimizeImportOnFlyTest --- .../jet/generators/tests/GenerateTests.kt | 5 + .../AlreadyOptimized.after.kt} | 0 .../AlreadyOptimized.kt} | 0 .../ArrayAccessExpression.after.kt} | 0 .../ArrayAccessExpression.kt} | 0 .../ArrayAccessExpression/myClass.kt | 0 .../ComponentFunction.after.kt} | 0 .../ComponentFunction.kt} | 0 .../ComponentFunction/myClass.kt | 0 .../DefaultJsImports.after.kt} | 0 .../DefaultJsImports.kt | 0 .../DuplicatedImports.after.kt} | 0 .../DuplicatedImports.kt | 0 .../InvokeFunction.after.kt} | 0 .../InvokeFunction.kt} | 0 .../{multifile => }/InvokeFunction/myClass.kt | 0 .../IteratorFunction.after.kt} | 0 .../IteratorFunction.kt} | 0 .../IteratorFunction/myClass.kt | 0 .../JavaStaticField.after.kt} | 10 +- .../JavaStaticField.kt} | 12 +- .../JavaStaticField/MyJavaClass.java | 6 +- .../KotlinPackage.after.kt} | 6 +- .../KotlinPackage.kt} | 12 +- .../KotlinPackage/kotlinClass.kt | 8 +- .../Kt1850FullQualified.after.kt} | 0 .../Kt1850FullQualified.kt | 0 .../Kt1850InnerClass.after.kt} | 0 .../Kt1850InnerClass.kt | 0 .../Kt2488EnumEntry.after.kt} | 0 .../Kt2488EnumEntry.kt} | 0 .../{Kt2709.kt => Kt2709/Kt2709.after.kt} | 0 .../{Kt2709_after.kt => Kt2709/Kt2709.kt} | 0 .../PartiallyQualified.after.kt} | 0 .../PartiallyQualified.kt | 0 .../RemoveImportsIfGeneral.after.kt} | 0 .../RemoveImportsIfGeneral.kt | 0 .../RemoveImportsIfGeneralBefore.after.kt} | 0 .../RemoveImportsIfGeneralBefore.kt | 0 .../SamConstructor.after.kt} | 0 .../SamConstructor.kt} | 0 .../editor/optimizeImports/SortImports.kt | 10 -- .../optimizeImports/SortImports_after.kt | 10 -- .../UnusedImports.after.kt} | 0 .../{ => UnusedImports}/UnusedImports.kt | 0 .../WithAliases.after.kt} | 0 .../{ => WithAliases}/WithAliases.kt | 0 .../onFly/OptimizeImportsOnFly.kt | 1 - .../onFly/OptimizeImportsOnFly.kt.after | 1 - .../OptimizeImportsMultiFileTest.java | 75 ---------- .../importOptimizer/OptimizeImportsTest.java | 100 ------------- .../imports/AbstractOptimizeImportsTest.kt | 61 ++++++++ .../OptimizeImportsOnFlyTest.java | 22 +-- .../imports/OptimizeImportsTestGenerated.java | 134 ++++++++++++++++++ 54 files changed, 232 insertions(+), 241 deletions(-) rename idea/testData/editor/optimizeImports/{AlreadyOptimized.kt => AlreadyOptimized/AlreadyOptimized.after.kt} (100%) rename idea/testData/editor/optimizeImports/{AlreadyOptimized_after.kt => AlreadyOptimized/AlreadyOptimized.kt} (100%) rename idea/testData/editor/optimizeImports/{multifile/ArrayAccessExpression/ArrayAccessExpression_after.kt => ArrayAccessExpression/ArrayAccessExpression.after.kt} (100%) rename idea/testData/editor/optimizeImports/{multifile/ArrayAccessExpression/main.kt => ArrayAccessExpression/ArrayAccessExpression.kt} (100%) rename idea/testData/editor/optimizeImports/{multifile => }/ArrayAccessExpression/myClass.kt (100%) rename idea/testData/editor/optimizeImports/{multifile/ComponentFunction/ComponentFunction_after.kt => ComponentFunction/ComponentFunction.after.kt} (100%) rename idea/testData/editor/optimizeImports/{multifile/ComponentFunction/main.kt => ComponentFunction/ComponentFunction.kt} (100%) rename idea/testData/editor/optimizeImports/{multifile => }/ComponentFunction/myClass.kt (100%) rename idea/testData/editor/optimizeImports/{DefaultJsImports_after.kt => DefaultJsImports/DefaultJsImports.after.kt} (100%) rename idea/testData/editor/optimizeImports/{ => DefaultJsImports}/DefaultJsImports.kt (100%) rename idea/testData/editor/optimizeImports/{DuplicatedImports_after.kt => DuplicatedImports/DuplicatedImports.after.kt} (100%) rename idea/testData/editor/optimizeImports/{ => DuplicatedImports}/DuplicatedImports.kt (100%) rename idea/testData/editor/optimizeImports/{multifile/InvokeFunction/InvokeFunction_after.kt => InvokeFunction/InvokeFunction.after.kt} (100%) rename idea/testData/editor/optimizeImports/{multifile/InvokeFunction/main.kt => InvokeFunction/InvokeFunction.kt} (100%) rename idea/testData/editor/optimizeImports/{multifile => }/InvokeFunction/myClass.kt (100%) rename idea/testData/editor/optimizeImports/{multifile/IteratorFunction/IteratorFunction_after.kt => IteratorFunction/IteratorFunction.after.kt} (100%) rename idea/testData/editor/optimizeImports/{multifile/IteratorFunction/main.kt => IteratorFunction/IteratorFunction.kt} (100%) rename idea/testData/editor/optimizeImports/{multifile => }/IteratorFunction/myClass.kt (100%) rename idea/testData/editor/optimizeImports/{multifile/JavaStaticField/JavaStaticField_after.kt => JavaStaticField/JavaStaticField.after.kt} (90%) rename idea/testData/editor/optimizeImports/{multifile/JavaStaticField/main.kt => JavaStaticField/JavaStaticField.kt} (91%) rename idea/testData/editor/optimizeImports/{multifile => }/JavaStaticField/MyJavaClass.java (95%) rename idea/testData/editor/optimizeImports/{multifile/KotlinPackage/KotlinPackage_after.kt => KotlinPackage/KotlinPackage.after.kt} (94%) rename idea/testData/editor/optimizeImports/{multifile/KotlinPackage/main.kt => KotlinPackage/KotlinPackage.kt} (95%) rename idea/testData/editor/optimizeImports/{multifile => }/KotlinPackage/kotlinClass.kt (92%) rename idea/testData/editor/optimizeImports/{Kt1850FullQualified_after.kt => Kt1850FullQualified/Kt1850FullQualified.after.kt} (100%) rename idea/testData/editor/optimizeImports/{ => Kt1850FullQualified}/Kt1850FullQualified.kt (100%) rename idea/testData/editor/optimizeImports/{Kt1850InnerClass_after.kt => Kt1850InnerClass/Kt1850InnerClass.after.kt} (100%) rename idea/testData/editor/optimizeImports/{ => Kt1850InnerClass}/Kt1850InnerClass.kt (100%) rename idea/testData/editor/optimizeImports/{Kt2488EnumEntry.kt => Kt2488EnumEntry/Kt2488EnumEntry.after.kt} (100%) rename idea/testData/editor/optimizeImports/{Kt2488EnumEntry_after.kt => Kt2488EnumEntry/Kt2488EnumEntry.kt} (100%) rename idea/testData/editor/optimizeImports/{Kt2709.kt => Kt2709/Kt2709.after.kt} (100%) rename idea/testData/editor/optimizeImports/{Kt2709_after.kt => Kt2709/Kt2709.kt} (100%) rename idea/testData/editor/optimizeImports/{PartiallyQualified_after.kt => PartiallyQualified/PartiallyQualified.after.kt} (100%) rename idea/testData/editor/optimizeImports/{ => PartiallyQualified}/PartiallyQualified.kt (100%) rename idea/testData/editor/optimizeImports/{RemoveImportsIfGeneralBefore_after.kt => RemoveImportsIfGeneral/RemoveImportsIfGeneral.after.kt} (100%) rename idea/testData/editor/optimizeImports/{ => RemoveImportsIfGeneral}/RemoveImportsIfGeneral.kt (100%) rename idea/testData/editor/optimizeImports/{RemoveImportsIfGeneral_after.kt => RemoveImportsIfGeneralBefore/RemoveImportsIfGeneralBefore.after.kt} (100%) rename idea/testData/editor/optimizeImports/{ => RemoveImportsIfGeneralBefore}/RemoveImportsIfGeneralBefore.kt (100%) rename idea/testData/editor/optimizeImports/{SamConstructor.kt => SamConstructor/SamConstructor.after.kt} (100%) rename idea/testData/editor/optimizeImports/{SamConstructor_after.kt => SamConstructor/SamConstructor.kt} (100%) delete mode 100644 idea/testData/editor/optimizeImports/SortImports.kt delete mode 100644 idea/testData/editor/optimizeImports/SortImports_after.kt rename idea/testData/editor/optimizeImports/{UnusedImports_after.kt => UnusedImports/UnusedImports.after.kt} (100%) rename idea/testData/editor/optimizeImports/{ => UnusedImports}/UnusedImports.kt (100%) rename idea/testData/editor/optimizeImports/{WithAliases_after.kt => WithAliases/WithAliases.after.kt} (100%) rename idea/testData/editor/optimizeImports/{ => WithAliases}/WithAliases.kt (100%) delete mode 100644 idea/testData/editor/optimizeImports/onFly/OptimizeImportsOnFly.kt delete mode 100644 idea/testData/editor/optimizeImports/onFly/OptimizeImportsOnFly.kt.after delete mode 100644 idea/tests/org/jetbrains/jet/plugin/importOptimizer/OptimizeImportsMultiFileTest.java delete mode 100644 idea/tests/org/jetbrains/jet/plugin/importOptimizer/OptimizeImportsTest.java create mode 100644 idea/tests/org/jetbrains/jet/plugin/imports/AbstractOptimizeImportsTest.kt rename idea/tests/org/jetbrains/jet/plugin/{importOptimizer => imports}/OptimizeImportsOnFlyTest.java (71%) create mode 100644 idea/tests/org/jetbrains/jet/plugin/imports/OptimizeImportsTestGenerated.java diff --git a/generators/src/org/jetbrains/jet/generators/tests/GenerateTests.kt b/generators/src/org/jetbrains/jet/generators/tests/GenerateTests.kt index c5d3e827869..11fd224179b 100644 --- a/generators/src/org/jetbrains/jet/generators/tests/GenerateTests.kt +++ b/generators/src/org/jetbrains/jet/generators/tests/GenerateTests.kt @@ -98,6 +98,7 @@ import org.jetbrains.jet.plugin.navigation.AbstractKotlinGotoTest import org.jetbrains.jet.plugin.AbstractExpressionSelectionTest import org.jetbrains.jet.plugin.refactoring.move.AbstractJetMoveTest import org.jetbrains.jet.plugin.libraries.AbstractDecompiledTextTest +import org.jetbrains.jet.plugin.imports.AbstractOptimizeImportsTest fun main(args: Array) { System.setProperty("java.awt.headless", "true") @@ -514,6 +515,10 @@ fun main(args: Array) { testClass(javaClass()) { model("libraries/decompiledText", pattern = """^([^\.]+)$""") } + + testClass(javaClass()) { + model("editor/optimizeImports", extension = null, recursive = false) + } } testGroup("j2k/tests/test", "j2k/tests/testData") { diff --git a/idea/testData/editor/optimizeImports/AlreadyOptimized.kt b/idea/testData/editor/optimizeImports/AlreadyOptimized/AlreadyOptimized.after.kt similarity index 100% rename from idea/testData/editor/optimizeImports/AlreadyOptimized.kt rename to idea/testData/editor/optimizeImports/AlreadyOptimized/AlreadyOptimized.after.kt diff --git a/idea/testData/editor/optimizeImports/AlreadyOptimized_after.kt b/idea/testData/editor/optimizeImports/AlreadyOptimized/AlreadyOptimized.kt similarity index 100% rename from idea/testData/editor/optimizeImports/AlreadyOptimized_after.kt rename to idea/testData/editor/optimizeImports/AlreadyOptimized/AlreadyOptimized.kt diff --git a/idea/testData/editor/optimizeImports/multifile/ArrayAccessExpression/ArrayAccessExpression_after.kt b/idea/testData/editor/optimizeImports/ArrayAccessExpression/ArrayAccessExpression.after.kt similarity index 100% rename from idea/testData/editor/optimizeImports/multifile/ArrayAccessExpression/ArrayAccessExpression_after.kt rename to idea/testData/editor/optimizeImports/ArrayAccessExpression/ArrayAccessExpression.after.kt diff --git a/idea/testData/editor/optimizeImports/multifile/ArrayAccessExpression/main.kt b/idea/testData/editor/optimizeImports/ArrayAccessExpression/ArrayAccessExpression.kt similarity index 100% rename from idea/testData/editor/optimizeImports/multifile/ArrayAccessExpression/main.kt rename to idea/testData/editor/optimizeImports/ArrayAccessExpression/ArrayAccessExpression.kt diff --git a/idea/testData/editor/optimizeImports/multifile/ArrayAccessExpression/myClass.kt b/idea/testData/editor/optimizeImports/ArrayAccessExpression/myClass.kt similarity index 100% rename from idea/testData/editor/optimizeImports/multifile/ArrayAccessExpression/myClass.kt rename to idea/testData/editor/optimizeImports/ArrayAccessExpression/myClass.kt diff --git a/idea/testData/editor/optimizeImports/multifile/ComponentFunction/ComponentFunction_after.kt b/idea/testData/editor/optimizeImports/ComponentFunction/ComponentFunction.after.kt similarity index 100% rename from idea/testData/editor/optimizeImports/multifile/ComponentFunction/ComponentFunction_after.kt rename to idea/testData/editor/optimizeImports/ComponentFunction/ComponentFunction.after.kt diff --git a/idea/testData/editor/optimizeImports/multifile/ComponentFunction/main.kt b/idea/testData/editor/optimizeImports/ComponentFunction/ComponentFunction.kt similarity index 100% rename from idea/testData/editor/optimizeImports/multifile/ComponentFunction/main.kt rename to idea/testData/editor/optimizeImports/ComponentFunction/ComponentFunction.kt diff --git a/idea/testData/editor/optimizeImports/multifile/ComponentFunction/myClass.kt b/idea/testData/editor/optimizeImports/ComponentFunction/myClass.kt similarity index 100% rename from idea/testData/editor/optimizeImports/multifile/ComponentFunction/myClass.kt rename to idea/testData/editor/optimizeImports/ComponentFunction/myClass.kt diff --git a/idea/testData/editor/optimizeImports/DefaultJsImports_after.kt b/idea/testData/editor/optimizeImports/DefaultJsImports/DefaultJsImports.after.kt similarity index 100% rename from idea/testData/editor/optimizeImports/DefaultJsImports_after.kt rename to idea/testData/editor/optimizeImports/DefaultJsImports/DefaultJsImports.after.kt diff --git a/idea/testData/editor/optimizeImports/DefaultJsImports.kt b/idea/testData/editor/optimizeImports/DefaultJsImports/DefaultJsImports.kt similarity index 100% rename from idea/testData/editor/optimizeImports/DefaultJsImports.kt rename to idea/testData/editor/optimizeImports/DefaultJsImports/DefaultJsImports.kt diff --git a/idea/testData/editor/optimizeImports/DuplicatedImports_after.kt b/idea/testData/editor/optimizeImports/DuplicatedImports/DuplicatedImports.after.kt similarity index 100% rename from idea/testData/editor/optimizeImports/DuplicatedImports_after.kt rename to idea/testData/editor/optimizeImports/DuplicatedImports/DuplicatedImports.after.kt diff --git a/idea/testData/editor/optimizeImports/DuplicatedImports.kt b/idea/testData/editor/optimizeImports/DuplicatedImports/DuplicatedImports.kt similarity index 100% rename from idea/testData/editor/optimizeImports/DuplicatedImports.kt rename to idea/testData/editor/optimizeImports/DuplicatedImports/DuplicatedImports.kt diff --git a/idea/testData/editor/optimizeImports/multifile/InvokeFunction/InvokeFunction_after.kt b/idea/testData/editor/optimizeImports/InvokeFunction/InvokeFunction.after.kt similarity index 100% rename from idea/testData/editor/optimizeImports/multifile/InvokeFunction/InvokeFunction_after.kt rename to idea/testData/editor/optimizeImports/InvokeFunction/InvokeFunction.after.kt diff --git a/idea/testData/editor/optimizeImports/multifile/InvokeFunction/main.kt b/idea/testData/editor/optimizeImports/InvokeFunction/InvokeFunction.kt similarity index 100% rename from idea/testData/editor/optimizeImports/multifile/InvokeFunction/main.kt rename to idea/testData/editor/optimizeImports/InvokeFunction/InvokeFunction.kt diff --git a/idea/testData/editor/optimizeImports/multifile/InvokeFunction/myClass.kt b/idea/testData/editor/optimizeImports/InvokeFunction/myClass.kt similarity index 100% rename from idea/testData/editor/optimizeImports/multifile/InvokeFunction/myClass.kt rename to idea/testData/editor/optimizeImports/InvokeFunction/myClass.kt diff --git a/idea/testData/editor/optimizeImports/multifile/IteratorFunction/IteratorFunction_after.kt b/idea/testData/editor/optimizeImports/IteratorFunction/IteratorFunction.after.kt similarity index 100% rename from idea/testData/editor/optimizeImports/multifile/IteratorFunction/IteratorFunction_after.kt rename to idea/testData/editor/optimizeImports/IteratorFunction/IteratorFunction.after.kt diff --git a/idea/testData/editor/optimizeImports/multifile/IteratorFunction/main.kt b/idea/testData/editor/optimizeImports/IteratorFunction/IteratorFunction.kt similarity index 100% rename from idea/testData/editor/optimizeImports/multifile/IteratorFunction/main.kt rename to idea/testData/editor/optimizeImports/IteratorFunction/IteratorFunction.kt diff --git a/idea/testData/editor/optimizeImports/multifile/IteratorFunction/myClass.kt b/idea/testData/editor/optimizeImports/IteratorFunction/myClass.kt similarity index 100% rename from idea/testData/editor/optimizeImports/multifile/IteratorFunction/myClass.kt rename to idea/testData/editor/optimizeImports/IteratorFunction/myClass.kt diff --git a/idea/testData/editor/optimizeImports/multifile/JavaStaticField/JavaStaticField_after.kt b/idea/testData/editor/optimizeImports/JavaStaticField/JavaStaticField.after.kt similarity index 90% rename from idea/testData/editor/optimizeImports/multifile/JavaStaticField/JavaStaticField_after.kt rename to idea/testData/editor/optimizeImports/JavaStaticField/JavaStaticField.after.kt index e26e7610a1b..a247e2a98ca 100644 --- a/idea/testData/editor/optimizeImports/multifile/JavaStaticField/JavaStaticField_after.kt +++ b/idea/testData/editor/optimizeImports/JavaStaticField/JavaStaticField.after.kt @@ -1,5 +1,5 @@ -import MyJavaClass.TEST - -fun main() { - TEST -} +import MyJavaClass.TEST + +fun main() { + TEST +} diff --git a/idea/testData/editor/optimizeImports/multifile/JavaStaticField/main.kt b/idea/testData/editor/optimizeImports/JavaStaticField/JavaStaticField.kt similarity index 91% rename from idea/testData/editor/optimizeImports/multifile/JavaStaticField/main.kt rename to idea/testData/editor/optimizeImports/JavaStaticField/JavaStaticField.kt index 7e051f9f6ff..f29fe9d3058 100644 --- a/idea/testData/editor/optimizeImports/multifile/JavaStaticField/main.kt +++ b/idea/testData/editor/optimizeImports/JavaStaticField/JavaStaticField.kt @@ -1,6 +1,6 @@ -import MyJavaClass -import MyJavaClass.TEST - -fun main() { - TEST -} +import MyJavaClass +import MyJavaClass.TEST + +fun main() { + TEST +} diff --git a/idea/testData/editor/optimizeImports/multifile/JavaStaticField/MyJavaClass.java b/idea/testData/editor/optimizeImports/JavaStaticField/MyJavaClass.java similarity index 95% rename from idea/testData/editor/optimizeImports/multifile/JavaStaticField/MyJavaClass.java rename to idea/testData/editor/optimizeImports/JavaStaticField/MyJavaClass.java index 3662b9546a5..be4f33aa48d 100644 --- a/idea/testData/editor/optimizeImports/multifile/JavaStaticField/MyJavaClass.java +++ b/idea/testData/editor/optimizeImports/JavaStaticField/MyJavaClass.java @@ -1,3 +1,3 @@ -public class MyJavaClass { - public static String TEST = "test"; -} +public class MyJavaClass { + public static String TEST = "test"; +} diff --git a/idea/testData/editor/optimizeImports/multifile/KotlinPackage/KotlinPackage_after.kt b/idea/testData/editor/optimizeImports/KotlinPackage/KotlinPackage.after.kt similarity index 94% rename from idea/testData/editor/optimizeImports/multifile/KotlinPackage/KotlinPackage_after.kt rename to idea/testData/editor/optimizeImports/KotlinPackage/KotlinPackage.after.kt index cbff6301392..301ba8c8c89 100644 --- a/idea/testData/editor/optimizeImports/multifile/KotlinPackage/KotlinPackage_after.kt +++ b/idea/testData/editor/optimizeImports/KotlinPackage/KotlinPackage.after.kt @@ -1,3 +1,3 @@ -import test1.test2 - -val s: test2.test3.Class1? = null +import test1.test2 + +val s: test2.test3.Class1? = null diff --git a/idea/testData/editor/optimizeImports/multifile/KotlinPackage/main.kt b/idea/testData/editor/optimizeImports/KotlinPackage/KotlinPackage.kt similarity index 95% rename from idea/testData/editor/optimizeImports/multifile/KotlinPackage/main.kt rename to idea/testData/editor/optimizeImports/KotlinPackage/KotlinPackage.kt index 86f2038c174..e9355f74d38 100644 --- a/idea/testData/editor/optimizeImports/multifile/KotlinPackage/main.kt +++ b/idea/testData/editor/optimizeImports/KotlinPackage/KotlinPackage.kt @@ -1,6 +1,6 @@ -import test1 -import test1.test2 -import test1.test2.test3 -import test1.test2.test3.Class1 - -val s: test2.test3.Class1? = null +import test1 +import test1.test2 +import test1.test2.test3 +import test1.test2.test3.Class1 + +val s: test2.test3.Class1? = null diff --git a/idea/testData/editor/optimizeImports/multifile/KotlinPackage/kotlinClass.kt b/idea/testData/editor/optimizeImports/KotlinPackage/kotlinClass.kt similarity index 92% rename from idea/testData/editor/optimizeImports/multifile/KotlinPackage/kotlinClass.kt rename to idea/testData/editor/optimizeImports/KotlinPackage/kotlinClass.kt index 521e7bff181..8ef61e7a946 100644 --- a/idea/testData/editor/optimizeImports/multifile/KotlinPackage/kotlinClass.kt +++ b/idea/testData/editor/optimizeImports/KotlinPackage/kotlinClass.kt @@ -1,4 +1,4 @@ -package test1.test2.test3 - -public class Class1 { -} +package test1.test2.test3 + +public class Class1 { +} diff --git a/idea/testData/editor/optimizeImports/Kt1850FullQualified_after.kt b/idea/testData/editor/optimizeImports/Kt1850FullQualified/Kt1850FullQualified.after.kt similarity index 100% rename from idea/testData/editor/optimizeImports/Kt1850FullQualified_after.kt rename to idea/testData/editor/optimizeImports/Kt1850FullQualified/Kt1850FullQualified.after.kt diff --git a/idea/testData/editor/optimizeImports/Kt1850FullQualified.kt b/idea/testData/editor/optimizeImports/Kt1850FullQualified/Kt1850FullQualified.kt similarity index 100% rename from idea/testData/editor/optimizeImports/Kt1850FullQualified.kt rename to idea/testData/editor/optimizeImports/Kt1850FullQualified/Kt1850FullQualified.kt diff --git a/idea/testData/editor/optimizeImports/Kt1850InnerClass_after.kt b/idea/testData/editor/optimizeImports/Kt1850InnerClass/Kt1850InnerClass.after.kt similarity index 100% rename from idea/testData/editor/optimizeImports/Kt1850InnerClass_after.kt rename to idea/testData/editor/optimizeImports/Kt1850InnerClass/Kt1850InnerClass.after.kt diff --git a/idea/testData/editor/optimizeImports/Kt1850InnerClass.kt b/idea/testData/editor/optimizeImports/Kt1850InnerClass/Kt1850InnerClass.kt similarity index 100% rename from idea/testData/editor/optimizeImports/Kt1850InnerClass.kt rename to idea/testData/editor/optimizeImports/Kt1850InnerClass/Kt1850InnerClass.kt diff --git a/idea/testData/editor/optimizeImports/Kt2488EnumEntry.kt b/idea/testData/editor/optimizeImports/Kt2488EnumEntry/Kt2488EnumEntry.after.kt similarity index 100% rename from idea/testData/editor/optimizeImports/Kt2488EnumEntry.kt rename to idea/testData/editor/optimizeImports/Kt2488EnumEntry/Kt2488EnumEntry.after.kt diff --git a/idea/testData/editor/optimizeImports/Kt2488EnumEntry_after.kt b/idea/testData/editor/optimizeImports/Kt2488EnumEntry/Kt2488EnumEntry.kt similarity index 100% rename from idea/testData/editor/optimizeImports/Kt2488EnumEntry_after.kt rename to idea/testData/editor/optimizeImports/Kt2488EnumEntry/Kt2488EnumEntry.kt diff --git a/idea/testData/editor/optimizeImports/Kt2709.kt b/idea/testData/editor/optimizeImports/Kt2709/Kt2709.after.kt similarity index 100% rename from idea/testData/editor/optimizeImports/Kt2709.kt rename to idea/testData/editor/optimizeImports/Kt2709/Kt2709.after.kt diff --git a/idea/testData/editor/optimizeImports/Kt2709_after.kt b/idea/testData/editor/optimizeImports/Kt2709/Kt2709.kt similarity index 100% rename from idea/testData/editor/optimizeImports/Kt2709_after.kt rename to idea/testData/editor/optimizeImports/Kt2709/Kt2709.kt diff --git a/idea/testData/editor/optimizeImports/PartiallyQualified_after.kt b/idea/testData/editor/optimizeImports/PartiallyQualified/PartiallyQualified.after.kt similarity index 100% rename from idea/testData/editor/optimizeImports/PartiallyQualified_after.kt rename to idea/testData/editor/optimizeImports/PartiallyQualified/PartiallyQualified.after.kt diff --git a/idea/testData/editor/optimizeImports/PartiallyQualified.kt b/idea/testData/editor/optimizeImports/PartiallyQualified/PartiallyQualified.kt similarity index 100% rename from idea/testData/editor/optimizeImports/PartiallyQualified.kt rename to idea/testData/editor/optimizeImports/PartiallyQualified/PartiallyQualified.kt diff --git a/idea/testData/editor/optimizeImports/RemoveImportsIfGeneralBefore_after.kt b/idea/testData/editor/optimizeImports/RemoveImportsIfGeneral/RemoveImportsIfGeneral.after.kt similarity index 100% rename from idea/testData/editor/optimizeImports/RemoveImportsIfGeneralBefore_after.kt rename to idea/testData/editor/optimizeImports/RemoveImportsIfGeneral/RemoveImportsIfGeneral.after.kt diff --git a/idea/testData/editor/optimizeImports/RemoveImportsIfGeneral.kt b/idea/testData/editor/optimizeImports/RemoveImportsIfGeneral/RemoveImportsIfGeneral.kt similarity index 100% rename from idea/testData/editor/optimizeImports/RemoveImportsIfGeneral.kt rename to idea/testData/editor/optimizeImports/RemoveImportsIfGeneral/RemoveImportsIfGeneral.kt diff --git a/idea/testData/editor/optimizeImports/RemoveImportsIfGeneral_after.kt b/idea/testData/editor/optimizeImports/RemoveImportsIfGeneralBefore/RemoveImportsIfGeneralBefore.after.kt similarity index 100% rename from idea/testData/editor/optimizeImports/RemoveImportsIfGeneral_after.kt rename to idea/testData/editor/optimizeImports/RemoveImportsIfGeneralBefore/RemoveImportsIfGeneralBefore.after.kt diff --git a/idea/testData/editor/optimizeImports/RemoveImportsIfGeneralBefore.kt b/idea/testData/editor/optimizeImports/RemoveImportsIfGeneralBefore/RemoveImportsIfGeneralBefore.kt similarity index 100% rename from idea/testData/editor/optimizeImports/RemoveImportsIfGeneralBefore.kt rename to idea/testData/editor/optimizeImports/RemoveImportsIfGeneralBefore/RemoveImportsIfGeneralBefore.kt diff --git a/idea/testData/editor/optimizeImports/SamConstructor.kt b/idea/testData/editor/optimizeImports/SamConstructor/SamConstructor.after.kt similarity index 100% rename from idea/testData/editor/optimizeImports/SamConstructor.kt rename to idea/testData/editor/optimizeImports/SamConstructor/SamConstructor.after.kt diff --git a/idea/testData/editor/optimizeImports/SamConstructor_after.kt b/idea/testData/editor/optimizeImports/SamConstructor/SamConstructor.kt similarity index 100% rename from idea/testData/editor/optimizeImports/SamConstructor_after.kt rename to idea/testData/editor/optimizeImports/SamConstructor/SamConstructor.kt diff --git a/idea/testData/editor/optimizeImports/SortImports.kt b/idea/testData/editor/optimizeImports/SortImports.kt deleted file mode 100644 index e59b4eec770..00000000000 --- a/idea/testData/editor/optimizeImports/SortImports.kt +++ /dev/null @@ -1,10 +0,0 @@ -package sometest - -import java.util.HashSet -import java.util.ArrayList - -class Action { - fun test(hash: HashSet) { - val test : ArrayList? = null - } -} \ No newline at end of file diff --git a/idea/testData/editor/optimizeImports/SortImports_after.kt b/idea/testData/editor/optimizeImports/SortImports_after.kt deleted file mode 100644 index e3b3f5cf16a..00000000000 --- a/idea/testData/editor/optimizeImports/SortImports_after.kt +++ /dev/null @@ -1,10 +0,0 @@ -package sometest - -import java.util.ArrayList -import java.util.HashSet - -class Action { - fun test(hash: HashSet) { - val test : ArrayList? = null - } -} \ No newline at end of file diff --git a/idea/testData/editor/optimizeImports/UnusedImports_after.kt b/idea/testData/editor/optimizeImports/UnusedImports/UnusedImports.after.kt similarity index 100% rename from idea/testData/editor/optimizeImports/UnusedImports_after.kt rename to idea/testData/editor/optimizeImports/UnusedImports/UnusedImports.after.kt diff --git a/idea/testData/editor/optimizeImports/UnusedImports.kt b/idea/testData/editor/optimizeImports/UnusedImports/UnusedImports.kt similarity index 100% rename from idea/testData/editor/optimizeImports/UnusedImports.kt rename to idea/testData/editor/optimizeImports/UnusedImports/UnusedImports.kt diff --git a/idea/testData/editor/optimizeImports/WithAliases_after.kt b/idea/testData/editor/optimizeImports/WithAliases/WithAliases.after.kt similarity index 100% rename from idea/testData/editor/optimizeImports/WithAliases_after.kt rename to idea/testData/editor/optimizeImports/WithAliases/WithAliases.after.kt diff --git a/idea/testData/editor/optimizeImports/WithAliases.kt b/idea/testData/editor/optimizeImports/WithAliases/WithAliases.kt similarity index 100% rename from idea/testData/editor/optimizeImports/WithAliases.kt rename to idea/testData/editor/optimizeImports/WithAliases/WithAliases.kt diff --git a/idea/testData/editor/optimizeImports/onFly/OptimizeImportsOnFly.kt b/idea/testData/editor/optimizeImports/onFly/OptimizeImportsOnFly.kt deleted file mode 100644 index 9596157ef46..00000000000 --- a/idea/testData/editor/optimizeImports/onFly/OptimizeImportsOnFly.kt +++ /dev/null @@ -1 +0,0 @@ -import java.util.ArrayList \ No newline at end of file diff --git a/idea/testData/editor/optimizeImports/onFly/OptimizeImportsOnFly.kt.after b/idea/testData/editor/optimizeImports/onFly/OptimizeImportsOnFly.kt.after deleted file mode 100644 index dbaefd21df0..00000000000 --- a/idea/testData/editor/optimizeImports/onFly/OptimizeImportsOnFly.kt.after +++ /dev/null @@ -1 +0,0 @@ -import java.util.HashSet \ No newline at end of file diff --git a/idea/tests/org/jetbrains/jet/plugin/importOptimizer/OptimizeImportsMultiFileTest.java b/idea/tests/org/jetbrains/jet/plugin/importOptimizer/OptimizeImportsMultiFileTest.java deleted file mode 100644 index a0cac69390b..00000000000 --- a/idea/tests/org/jetbrains/jet/plugin/importOptimizer/OptimizeImportsMultiFileTest.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright 2010-2013 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.jet.plugin.importOptimizer; - -import com.intellij.codeInsight.CodeInsightTestCase; -import com.intellij.openapi.command.CommandProcessor; -import com.intellij.openapi.command.UndoConfirmationPolicy; -import org.jetbrains.jet.plugin.PluginTestCaseBase; -import org.jetbrains.jet.plugin.imports.KotlinImportOptimizer; - -import java.io.File; - -public class OptimizeImportsMultiFileTest extends CodeInsightTestCase { - - public void testKotlinPackage() throws Exception { - doTest(getTestName(false) + "/main.kt", getTestName(false) + "/kotlinClass.kt"); - } - - public void testJavaStaticField() throws Exception { - doTest(getTestName(false) + "/main.kt", getTestName(false) + "/MyJavaClass.java"); - } - - public void testArrayAccessExpression() throws Exception { - doTest(getTestName(false) + "/main.kt", getTestName(false) + "/myClass.kt"); - } - - public void testInvokeFunction() throws Exception { - doTest(getTestName(false) + "/main.kt", getTestName(false) + "/myClass.kt"); - } - - public void testIteratorFunction() throws Exception { - doTest(getTestName(false) + "/main.kt", getTestName(false) + "/myClass.kt"); - } - - public void testComponentFunction() throws Exception { - doTest(getTestName(false) + "/main.kt", getTestName(false) + "/myClass.kt"); - } - - public void doTest(String... fileNames) throws Exception { - configureByFiles(null, fileNames); - invokeFormatFile(); - checkResultByFile(checkFileName(), true); - } - - public String checkFileName() { - return getTestName(false) + "/" + getTestName(false) + "_after.kt"; - } - - @Override - protected String getTestDataPath() { - return new File(PluginTestCaseBase.getTestDataPathBase(), "/editor/optimizeImports/multifile").getPath() + - File.separator; - } - - private void invokeFormatFile() { - CommandProcessor.getInstance().executeCommand( - getProject(), new KotlinImportOptimizer().processFile(getFile()), - "Optimize Imports", null, UndoConfirmationPolicy.DO_NOT_REQUEST_CONFIRMATION); - } - -} diff --git a/idea/tests/org/jetbrains/jet/plugin/importOptimizer/OptimizeImportsTest.java b/idea/tests/org/jetbrains/jet/plugin/importOptimizer/OptimizeImportsTest.java deleted file mode 100644 index 81e0e974d46..00000000000 --- a/idea/tests/org/jetbrains/jet/plugin/importOptimizer/OptimizeImportsTest.java +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright 2010-2013 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.jet.plugin.importOptimizer; - -import com.intellij.openapi.command.CommandProcessor; -import com.intellij.openapi.command.UndoConfirmationPolicy; -import org.jetbrains.jet.plugin.JetLightCodeInsightFixtureTestCase; -import org.jetbrains.jet.plugin.PluginTestCaseBase; -import org.jetbrains.jet.plugin.imports.KotlinImportOptimizer; - -import java.io.File; - -public class OptimizeImportsTest extends JetLightCodeInsightFixtureTestCase { - public void testAlreadyOptimized() throws Exception { - doTest(); - } - - public void testDefaultJsImports() throws Exception { - doTest(); - } - - public void testRemoveImportsIfGeneral() throws Exception { - doTest(); - } - - public void testRemoveImportsIfGeneralBefore() throws Exception { - doTest(); - } - - public void testDuplicatedImports() throws Exception { - doTest(); - } - - public void testUnusedImports() throws Exception { - doTest(); - } - - public void testWithAliases() throws Exception { - doTest(); - } - - public void testKt2488EnumEntry() throws Exception { - doTest(); - } - - public void testKt1850FullQualified() throws Exception { - doTest(); - } - - public void testKt1850InnerClass() throws Exception { - doTest(); - } - - public void testPartiallyQualified() throws Exception { - doTest(); - } - - public void testKt2709() throws Exception { - doTest(); - } - - public void testSamConstructor() throws Exception { - doTest(); - } - - public void doTest() throws Exception { - myFixture.configureByFile(fileName()); - invokeOptimizeImports(); - myFixture.checkResultByFile(checkFileName(), false); - } - - @Override - protected String getTestDataPath() { - return new File(PluginTestCaseBase.getTestDataPathBase(), "/editor/optimizeImports").getPath() + - File.separator; - } - - public String checkFileName() { - return getTestName(false) + "_after.kt"; - } - - private void invokeOptimizeImports() { - CommandProcessor.getInstance().executeCommand(myFixture.getProject(), new KotlinImportOptimizer().processFile(myFixture.getFile()), - "Optimize Imports", null, UndoConfirmationPolicy.DO_NOT_REQUEST_CONFIRMATION); - } -} diff --git a/idea/tests/org/jetbrains/jet/plugin/imports/AbstractOptimizeImportsTest.kt b/idea/tests/org/jetbrains/jet/plugin/imports/AbstractOptimizeImportsTest.kt new file mode 100644 index 00000000000..3340f66b8e9 --- /dev/null +++ b/idea/tests/org/jetbrains/jet/plugin/imports/AbstractOptimizeImportsTest.kt @@ -0,0 +1,61 @@ +/* + * Copyright 2010-2014 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.jet.plugin.imports + +import com.intellij.openapi.command.CommandProcessor +import com.intellij.openapi.command.UndoConfirmationPolicy +import org.jetbrains.jet.plugin.JetLightCodeInsightFixtureTestCase +import java.io.File +import org.junit.Assert +import java.util.ArrayList +import org.jetbrains.jet.plugin.PluginTestCaseBase + +public abstract class AbstractOptimizeImportsTest() : JetLightCodeInsightFixtureTestCase() { + + public fun doTest(path: String) { + val fixture = myFixture!! + fixture.setTestDataPath(path) + val (expectedFile, testFiles) = findTestFiles(path) + fixture.configureByFiles(*testFiles.map { it.name : String? }.copyToArray()) + CommandProcessor.getInstance()!!.executeCommand( + getProject(), + KotlinImportOptimizer().processFile(fixture.getFile()), + "Optimize Imports", + null, + UndoConfirmationPolicy.DO_NOT_REQUEST_CONFIRMATION + ) + fixture.checkResultByFile(expectedFile.name, true) + } + + private fun findTestFiles(path: String): Pair> { + val files = File(path).listFiles()!! + val testName = getTestName(false) + + val expectedFileName = "$testName.after.kt" + val expectedFile = files.find { it.name == expectedFileName } + Assert.assertNotNull("Can't find $expectedFileName", expectedFile) + + val fileToBeOptimizedName = "$testName.kt" + val fileToBeOptimized = files.find { it.name == fileToBeOptimizedName } + Assert.assertNotNull("Can't find $fileToBeOptimizedName", fileToBeOptimized) + + val testFiles = listOf(fileToBeOptimized!!) + files.filter { it != fileToBeOptimized && it != expectedFile } + return Pair(expectedFile!!, testFiles) + } + + override fun getTestDataPath() = "${PluginTestCaseBase.getTestDataPathBase()}/editor/optimizeImports/${getTestName(false)}" +} diff --git a/idea/tests/org/jetbrains/jet/plugin/importOptimizer/OptimizeImportsOnFlyTest.java b/idea/tests/org/jetbrains/jet/plugin/imports/OptimizeImportsOnFlyTest.java similarity index 71% rename from idea/tests/org/jetbrains/jet/plugin/importOptimizer/OptimizeImportsOnFlyTest.java rename to idea/tests/org/jetbrains/jet/plugin/imports/OptimizeImportsOnFlyTest.java index d3ab1fb2628..530289a8b00 100644 --- a/idea/tests/org/jetbrains/jet/plugin/importOptimizer/OptimizeImportsOnFlyTest.java +++ b/idea/tests/org/jetbrains/jet/plugin/imports/OptimizeImportsOnFlyTest.java @@ -14,44 +14,32 @@ * limitations under the License. */ -package org.jetbrains.jet.plugin.importOptimizer; +package org.jetbrains.jet.plugin.imports; import com.intellij.codeInsight.CodeInsightSettings; import com.intellij.codeInsight.daemon.LightDaemonAnalyzerTestCase; import com.intellij.openapi.application.ApplicationManager; -import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.resolve.name.FqName; -import org.jetbrains.jet.plugin.PluginTestCaseBase; import org.jetbrains.jet.plugin.quickfix.ImportInsertHelper; public class OptimizeImportsOnFlyTest extends LightDaemonAnalyzerTestCase { - public void testOptimizeImportsOnFly() { - doTest("java.util.HashSet"); - } - - public void doTest(final String importString) { - configureByFile(getTestName(false) + ".kt"); + public void testOptimizeImportsOnFly() throws Exception { + configureFromFileText("test.kt", "import java.util.ArrayList"); boolean oldValue = CodeInsightSettings.getInstance().OPTIMIZE_IMPORTS_ON_THE_FLY; try { CodeInsightSettings.getInstance().OPTIMIZE_IMPORTS_ON_THE_FLY = true; ApplicationManager.getApplication().runWriteAction(new Runnable() { @Override public void run() { - ImportInsertHelper.addImportDirectiveIfNeeded(new FqName(importString), (JetFile) getFile()); + ImportInsertHelper.addImportDirectiveIfNeeded(new FqName("java.util.HashSet"), (JetFile) getFile()); } }); } finally { CodeInsightSettings.getInstance().OPTIMIZE_IMPORTS_ON_THE_FLY = oldValue; } - checkResultByFile(getTestName(false) + ".kt.after"); - } - - @NotNull - @Override - protected String getTestDataPath() { - return PluginTestCaseBase.getTestDataPathBase() + "/editor/optimizeImports/onFly/"; + checkResultByText("import java.util.HashSet"); } } \ No newline at end of file diff --git a/idea/tests/org/jetbrains/jet/plugin/imports/OptimizeImportsTestGenerated.java b/idea/tests/org/jetbrains/jet/plugin/imports/OptimizeImportsTestGenerated.java new file mode 100644 index 00000000000..bf5e181f32f --- /dev/null +++ b/idea/tests/org/jetbrains/jet/plugin/imports/OptimizeImportsTestGenerated.java @@ -0,0 +1,134 @@ +/* + * Copyright 2010-2014 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.jet.plugin.imports; + +import junit.framework.Assert; +import junit.framework.Test; +import junit.framework.TestSuite; + +import java.io.File; +import java.util.regex.Pattern; +import org.jetbrains.jet.JetTestUtils; +import org.jetbrains.jet.test.InnerTestClasses; +import org.jetbrains.jet.test.TestMetadata; + +import org.jetbrains.jet.plugin.imports.AbstractOptimizeImportsTest; + +/** This class is generated by {@link org.jetbrains.jet.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */ +@SuppressWarnings("all") +@TestMetadata("idea/testData/editor/optimizeImports") +public class OptimizeImportsTestGenerated extends AbstractOptimizeImportsTest { + public void testAllFilesPresentInOptimizeImports() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.TestsPackage", new File("idea/testData/editor/optimizeImports"), Pattern.compile("^([^\\.]+)$"), false); + } + + @TestMetadata("AlreadyOptimized") + public void testAlreadyOptimized() throws Exception { + doTest("idea/testData/editor/optimizeImports/AlreadyOptimized"); + } + + @TestMetadata("ArrayAccessExpression") + public void testArrayAccessExpression() throws Exception { + doTest("idea/testData/editor/optimizeImports/ArrayAccessExpression"); + } + + @TestMetadata("ComponentFunction") + public void testComponentFunction() throws Exception { + doTest("idea/testData/editor/optimizeImports/ComponentFunction"); + } + + @TestMetadata("DefaultJsImports") + public void testDefaultJsImports() throws Exception { + doTest("idea/testData/editor/optimizeImports/DefaultJsImports"); + } + + @TestMetadata("DuplicatedImports") + public void testDuplicatedImports() throws Exception { + doTest("idea/testData/editor/optimizeImports/DuplicatedImports"); + } + + @TestMetadata("InvokeFunction") + public void testInvokeFunction() throws Exception { + doTest("idea/testData/editor/optimizeImports/InvokeFunction"); + } + + @TestMetadata("IteratorFunction") + public void testIteratorFunction() throws Exception { + doTest("idea/testData/editor/optimizeImports/IteratorFunction"); + } + + @TestMetadata("JavaStaticField") + public void testJavaStaticField() throws Exception { + doTest("idea/testData/editor/optimizeImports/JavaStaticField"); + } + + @TestMetadata("KotlinPackage") + public void testKotlinPackage() throws Exception { + doTest("idea/testData/editor/optimizeImports/KotlinPackage"); + } + + @TestMetadata("Kt1850FullQualified") + public void testKt1850FullQualified() throws Exception { + doTest("idea/testData/editor/optimizeImports/Kt1850FullQualified"); + } + + @TestMetadata("Kt1850InnerClass") + public void testKt1850InnerClass() throws Exception { + doTest("idea/testData/editor/optimizeImports/Kt1850InnerClass"); + } + + @TestMetadata("Kt2488EnumEntry") + public void testKt2488EnumEntry() throws Exception { + doTest("idea/testData/editor/optimizeImports/Kt2488EnumEntry"); + } + + @TestMetadata("Kt2709") + public void testKt2709() throws Exception { + doTest("idea/testData/editor/optimizeImports/Kt2709"); + } + + @TestMetadata("PartiallyQualified") + public void testPartiallyQualified() throws Exception { + doTest("idea/testData/editor/optimizeImports/PartiallyQualified"); + } + + @TestMetadata("RemoveImportsIfGeneral") + public void testRemoveImportsIfGeneral() throws Exception { + doTest("idea/testData/editor/optimizeImports/RemoveImportsIfGeneral"); + } + + @TestMetadata("RemoveImportsIfGeneralBefore") + public void testRemoveImportsIfGeneralBefore() throws Exception { + doTest("idea/testData/editor/optimizeImports/RemoveImportsIfGeneralBefore"); + } + + @TestMetadata("SamConstructor") + public void testSamConstructor() throws Exception { + doTest("idea/testData/editor/optimizeImports/SamConstructor"); + } + + @TestMetadata("UnusedImports") + public void testUnusedImports() throws Exception { + doTest("idea/testData/editor/optimizeImports/UnusedImports"); + } + + @TestMetadata("WithAliases") + public void testWithAliases() throws Exception { + doTest("idea/testData/editor/optimizeImports/WithAliases"); + } + +}