Tests: use errors dump instead of ALLOW_UNRESOLVED_REFERENCE

This commit is contained in:
Valentin Kipyatkov
2015-04-08 20:53:01 +03:00
parent 84a6f72ab3
commit ea7732883e
38 changed files with 76 additions and 80 deletions
@@ -24,6 +24,7 @@ import com.intellij.testFramework.LightPlatformTestCase
import org.jetbrains.kotlin.idea.JetWithJdkAndRuntimeLightProjectDescriptor
import org.jetbrains.kotlin.idea.j2k.IdeaResolverForConverter
import org.jetbrains.kotlin.idea.j2k.J2kPostProcessor
import org.jetbrains.kotlin.idea.testUtils.dumpTextWithErrors
import org.jetbrains.kotlin.idea.util.application.executeWriteCommand
import org.jetbrains.kotlin.idea.util.application.runWriteAction
import org.jetbrains.kotlin.psi.JetFile
@@ -71,13 +72,13 @@ public abstract class AbstractJavaToKotlinConverterMultiFileTest : AbstractJavaT
}
for ((i, kotlinFile) in resultFiles.withIndex()) {
JetTestUtils.assertEqualsToFile(expectedResultFile(i), addErrorsDump(kotlinFile))
JetTestUtils.assertEqualsToFile(expectedResultFile(i), kotlinFile.dumpTextWithErrors())
}
for ((externalFile, externalPsiFile) in externalFiles.zip(externalPsiFiles)) {
val expectedFile = File(externalFile.getPath() + ".expected")
var resultText = if (externalPsiFile is JetFile) {
addErrorsDump(externalPsiFile)
externalPsiFile.dumpTextWithErrors()
}
else {
//TODO: errors dump for java files too
@@ -30,6 +30,7 @@ import org.jetbrains.kotlin.idea.JetWithJdkAndRuntimeLightProjectDescriptor
import com.intellij.psi.PsiJavaFile
import org.jetbrains.kotlin.psi.JetFile
import org.jetbrains.kotlin.idea.j2k.IdeaResolverForConverter
import org.jetbrains.kotlin.idea.testUtils.dumpTextWithErrors
public abstract class AbstractJavaToKotlinConverterSingleFileTest : AbstractJavaToKotlinConverterTest() {
val testHeaderPattern = Pattern.compile("//(element|expression|statement|method|class|file|comp)\n")
@@ -80,7 +81,7 @@ public abstract class AbstractJavaToKotlinConverterSingleFileTest : AbstractJava
var actual = reformat(rawConverted, project, reformatInFun)
if (prefix == "file") {
actual = addErrorsDump(createKotlinFile(actual))
actual = createKotlinFile(actual).dumpTextWithErrors()
}
val kotlinPath = javaPath.replace(".java", ".kt")
@@ -67,13 +67,5 @@ public abstract class AbstractJavaToKotlinConverterTest : LightCodeInsightFixtur
protected fun deleteFile(virtualFile: VirtualFile) {
runWriteAction { virtualFile.delete(this) }
}
protected fun addErrorsDump(jetFile: JetFile): String {
val diagnostics = jetFile.analyzeFullyAndGetResult().bindingContext.getDiagnostics()
val errors = diagnostics.filter { it.getSeverity() == Severity.ERROR }
if (errors.isEmpty()) return jetFile.getText()
val header = errors.map { "// ERROR: " + DefaultErrorMessages.render(it).replace('\n', ' ') }.joinToString("\n", postfix = "\n")
return header + jetFile.getText()
}
}