Converter tests:
Use JetTestUtils.assertEqualsToFile for comparison, write test data and fail if test data is absent
This commit is contained in:
@@ -35,6 +35,7 @@ import com.intellij.psi.codeStyle.CodeStyleManager
|
|||||||
import org.jetbrains.jet.JetTestUtils
|
import org.jetbrains.jet.JetTestUtils
|
||||||
import com.intellij.openapi.application.ApplicationManager
|
import com.intellij.openapi.application.ApplicationManager
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
|
import kotlin.test.fail
|
||||||
|
|
||||||
public abstract class AbstractJavaToKotlinConverterPluginTest() : AbstractJavaToKotlinConverterTest("ide.kt", PluginSettings)
|
public abstract class AbstractJavaToKotlinConverterPluginTest() : AbstractJavaToKotlinConverterTest("ide.kt", PluginSettings)
|
||||||
public abstract class AbstractJavaToKotlinConverterBasicTest() : AbstractJavaToKotlinConverterTest("kt", TestSettings)
|
public abstract class AbstractJavaToKotlinConverterBasicTest() : AbstractJavaToKotlinConverterTest("kt", TestSettings)
|
||||||
@@ -47,13 +48,6 @@ public abstract class AbstractJavaToKotlinConverterTest(val kotlinFileExtension:
|
|||||||
protected fun doTest(javaPath: String) {
|
protected fun doTest(javaPath: String) {
|
||||||
val project = LightPlatformTestCase.getProject()!!
|
val project = LightPlatformTestCase.getProject()!!
|
||||||
val converter = Converter(project, settings)
|
val converter = Converter(project, settings)
|
||||||
val kotlinPath = javaPath.replace(".java", ".$kotlinFileExtension")
|
|
||||||
val kotlinFile = File(kotlinPath)
|
|
||||||
if (!kotlinFile.exists()) {
|
|
||||||
FileUtil.writeToFile(kotlinFile, "")
|
|
||||||
}
|
|
||||||
|
|
||||||
val expected = FileUtil.loadFile(kotlinFile, true)
|
|
||||||
val javaFile = File(javaPath)
|
val javaFile = File(javaPath)
|
||||||
val fileContents = FileUtil.loadFile(javaFile, true)
|
val fileContents = FileUtil.loadFile(javaFile, true)
|
||||||
val matcher = testHeaderPattern.matcher(fileContents)
|
val matcher = testHeaderPattern.matcher(fileContents)
|
||||||
@@ -70,20 +64,10 @@ public abstract class AbstractJavaToKotlinConverterTest(val kotlinFileExtension:
|
|||||||
else -> throw IllegalStateException("Specify what is it: file, class, method, statement or expression " +
|
else -> throw IllegalStateException("Specify what is it: file, class, method, statement or expression " +
|
||||||
"using the first line of test data file")
|
"using the first line of test data file")
|
||||||
}
|
}
|
||||||
|
val actual = reformat(rawConverted, project)
|
||||||
compare(expected, reformat(rawConverted, project), File(kotlinPath + ".tmp"))
|
val kotlinPath = javaPath.replace(".java", ".$kotlinFileExtension")
|
||||||
}
|
val expectedFile = File(kotlinPath)
|
||||||
|
JetTestUtils.assertEqualsToFile(expectedFile, actual)
|
||||||
private fun compare(expected: String, actual: String, tmp: File) {
|
|
||||||
if (expected != actual) {
|
|
||||||
FileUtil.writeToFile(tmp, actual)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (expected == actual && tmp.exists()) {
|
|
||||||
tmp.delete()
|
|
||||||
}
|
|
||||||
|
|
||||||
Assert.assertEquals(expected, actual)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun reformat(text: String, project: Project): String {
|
private fun reformat(text: String, project: Project): String {
|
||||||
|
|||||||
Reference in New Issue
Block a user