Refactored AbstractOptimizeImportsTest to inherit from AbstractImportsTest
This commit is contained in:
@@ -634,7 +634,7 @@ fun main(args: Array<String>) {
|
||||
}
|
||||
|
||||
testClass(javaClass<AbstractOptimizeImportsTest>()) {
|
||||
model("editor/optimizeImports", extension = null, recursive = false)
|
||||
model("editor/optimizeImports", pattern = """^([^\.]+)\.kt$""")
|
||||
}
|
||||
|
||||
testClass(javaClass<AbstractJetPositionManagerTest>()) {
|
||||
|
||||
@@ -18,43 +18,17 @@ package org.jetbrains.kotlin.idea.imports
|
||||
|
||||
import com.intellij.openapi.command.CommandProcessor
|
||||
import com.intellij.openapi.command.UndoConfirmationPolicy
|
||||
import org.jetbrains.kotlin.idea.JetLightCodeInsightFixtureTestCase
|
||||
import java.io.File
|
||||
import org.junit.Assert
|
||||
import org.jetbrains.kotlin.idea.PluginTestCaseBase
|
||||
import org.jetbrains.kotlin.*
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
|
||||
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)
|
||||
public abstract class AbstractOptimizeImportsTest() : AbstractImportsTest() {
|
||||
override fun doTest(file: JetFile) {
|
||||
KotlinImportOptimizer().processFile(file).run()
|
||||
}
|
||||
|
||||
private fun findTestFiles(path: String): Pair<File, List<File>> {
|
||||
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)}"
|
||||
override val preferAllUnderImportsDefault: Boolean
|
||||
get() = false
|
||||
}
|
||||
|
||||
@@ -32,144 +32,144 @@ import java.util.regex.Pattern;
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
public class OptimizeImportsTestGenerated extends AbstractOptimizeImportsTest {
|
||||
public void testAllFilesPresentInOptimizeImports() throws Exception {
|
||||
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/editor/optimizeImports"), Pattern.compile("^([^\\.]+)$"), false);
|
||||
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/editor/optimizeImports"), Pattern.compile("^([^\\.]+)\\.kt$"), true);
|
||||
}
|
||||
|
||||
@TestMetadata("AlreadyOptimized")
|
||||
@TestMetadata("AlreadyOptimized.kt")
|
||||
public void testAlreadyOptimized() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/AlreadyOptimized/");
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/AlreadyOptimized.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("ArrayAccessExpression")
|
||||
@TestMetadata("ArrayAccessExpression.kt")
|
||||
public void testArrayAccessExpression() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/ArrayAccessExpression/");
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/ArrayAccessExpression.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("ClassMemberImported")
|
||||
@TestMetadata("ClassMemberImported.kt")
|
||||
public void testClassMemberImported() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/ClassMemberImported/");
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/ClassMemberImported.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("ComponentFunction")
|
||||
@TestMetadata("ComponentFunction.kt")
|
||||
public void testComponentFunction() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/ComponentFunction/");
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/ComponentFunction.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("CurrentPackage")
|
||||
@TestMetadata("CurrentPackage.kt")
|
||||
public void testCurrentPackage() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/CurrentPackage/");
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/CurrentPackage.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("DefaultJsImports")
|
||||
@TestMetadata("DefaultJsImports.kt")
|
||||
public void testDefaultJsImports() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/DefaultJsImports/");
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/DefaultJsImports.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("DuplicatedImports")
|
||||
@TestMetadata("DuplicatedImports.kt")
|
||||
public void testDuplicatedImports() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/DuplicatedImports/");
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/DuplicatedImports.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("Enums")
|
||||
@TestMetadata("Enums.kt")
|
||||
public void testEnums() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/Enums/");
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/Enums.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("InvokeFunction")
|
||||
@TestMetadata("InvokeFunction.kt")
|
||||
public void testInvokeFunction() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/InvokeFunction/");
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/InvokeFunction.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("IteratorFunction")
|
||||
@TestMetadata("IteratorFunction.kt")
|
||||
public void testIteratorFunction() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/IteratorFunction/");
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/IteratorFunction.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("JavaStaticField")
|
||||
@TestMetadata("JavaStaticField.kt")
|
||||
public void testJavaStaticField() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/JavaStaticField/");
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/JavaStaticField.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("KotlinPackage")
|
||||
@TestMetadata("KotlinPackage.kt")
|
||||
public void testKotlinPackage() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/KotlinPackage/");
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/KotlinPackage.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("Kt1850FullQualified")
|
||||
@TestMetadata("Kt1850FullQualified.kt")
|
||||
public void testKt1850FullQualified() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/Kt1850FullQualified/");
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/Kt1850FullQualified.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("Kt1850InnerClass")
|
||||
@TestMetadata("Kt1850InnerClass.kt")
|
||||
public void testKt1850InnerClass() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/Kt1850InnerClass/");
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/Kt1850InnerClass.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("Kt2488EnumEntry")
|
||||
@TestMetadata("Kt2488EnumEntry.kt")
|
||||
public void testKt2488EnumEntry() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/Kt2488EnumEntry/");
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/Kt2488EnumEntry.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("Kt2709")
|
||||
@TestMetadata("Kt2709.kt")
|
||||
public void testKt2709() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/Kt2709/");
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/Kt2709.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("MembersInScope")
|
||||
@TestMetadata("MembersInScope.kt")
|
||||
public void testMembersInScope() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/MembersInScope/");
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/MembersInScope.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("PartiallyQualified")
|
||||
@TestMetadata("PartiallyQualified.kt")
|
||||
public void testPartiallyQualified() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/PartiallyQualified/");
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/PartiallyQualified.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("RemoveImportsIfGeneral")
|
||||
@TestMetadata("RemoveImportsIfGeneral.kt")
|
||||
public void testRemoveImportsIfGeneral() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/RemoveImportsIfGeneral/");
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/RemoveImportsIfGeneral.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("RemoveImportsIfGeneralBefore")
|
||||
@TestMetadata("RemoveImportsIfGeneralBefore.kt")
|
||||
public void testRemoveImportsIfGeneralBefore() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/RemoveImportsIfGeneralBefore/");
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/RemoveImportsIfGeneralBefore.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("SamConstructor")
|
||||
@TestMetadata("SamConstructor.kt")
|
||||
public void testSamConstructor() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/SamConstructor/");
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/SamConstructor.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("UnusedImports")
|
||||
@TestMetadata("UnusedImports.kt")
|
||||
public void testUnusedImports() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/UnusedImports/");
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/UnusedImports.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("WithAliases")
|
||||
@TestMetadata("WithAliases.kt")
|
||||
public void testWithAliases() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/WithAliases/");
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/WithAliases.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user