Refactored AbstractOptimizeImportsTest to inherit from AbstractImportsTest

This commit is contained in:
Valentin Kipyatkov
2015-02-13 20:53:55 +03:00
parent 03f7c265d7
commit 2e3ed6b66f
58 changed files with 55 additions and 81 deletions
@@ -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);
}
}