202: Fix missing formatting in nJ2K tests

Formatting in nJ2K tests (actually it still works in IDE) was broken by
dee00ac38946b8a8a5165dffd083e67c85935723 in intellij
This commit is contained in:
Nikita Bobko
2020-06-15 17:01:06 +03:00
parent 264094861d
commit 8fb82c2cb7
2 changed files with 24 additions and 13 deletions
@@ -7,9 +7,11 @@ package org.jetbrains.kotlin.j2k
import com.intellij.openapi.command.WriteCommandAction
import com.intellij.openapi.project.Project
import com.intellij.openapi.util.Computable
import com.intellij.openapi.util.io.FileUtil
import com.intellij.psi.PsiJavaFile
import com.intellij.psi.codeStyle.CodeStyleManager
import com.intellij.psi.impl.source.PostprocessReformattingAspect
import org.jetbrains.kotlin.idea.j2k.IdeaJavaToKotlinServices
import org.jetbrains.kotlin.idea.j2k.J2kPostProcessor
import org.jetbrains.kotlin.idea.test.KotlinWithJdkAndRuntimeLightProjectDescriptor
@@ -50,15 +52,19 @@ abstract class AbstractJavaToKotlinConverterSingleFileTest : AbstractJavaToKotli
settings.openByDefault = it.toBoolean()
}
val rawConverted = when (prefix) {
"expression" -> expressionToKotlin(javaCode, settings, project)
"statement" -> statementToKotlin(javaCode, settings, project)
"method" -> methodToKotlin(javaCode, settings, project)
"class" -> fileToKotlin(javaCode, settings, project)
"file" -> fileToKotlin(javaCode, settings, project)
else -> throw IllegalStateException("Specify what is it: file, class, method, statement or expression " +
"using the first line of test data file")
}
val rawConverted = WriteCommandAction.runWriteCommandAction(project, Computable {
PostprocessReformattingAspect.getInstance(project).doPostponedFormatting()
return@Computable when (prefix) {
"expression" -> expressionToKotlin(javaCode, settings, project)
"statement" -> statementToKotlin(javaCode, settings, project)
"method" -> methodToKotlin(javaCode, settings, project)
"class" -> fileToKotlin(javaCode, settings, project)
"file" -> fileToKotlin(javaCode, settings, project)
else -> throw IllegalStateException(
"Specify what is it: file, class, method, statement or expression using the first line of test data file"
)
}
})
val reformatInFun = prefix in setOf("element", "expression", "statement")
@@ -5,8 +5,11 @@
package org.jetbrains.kotlin.nj2k
import com.intellij.openapi.command.WriteCommandAction
import com.intellij.openapi.util.Computable
import com.intellij.psi.PsiJavaFile
import com.intellij.psi.PsiManager
import com.intellij.psi.impl.source.PostprocessReformattingAspect
import org.jetbrains.kotlin.idea.formatter.commitAndUnblockDocument
import org.jetbrains.kotlin.idea.j2k.IdeaJavaToKotlinServices
import org.jetbrains.kotlin.idea.test.KotlinWithJdkAndRuntimeLightProjectDescriptor
@@ -42,10 +45,12 @@ abstract class AbstractNewJavaToKotlinConverterMultiFileTest : AbstractJavaToKot
}
val converter = NewJavaToKotlinConverter(project, module, ConverterSettings.defaultSettings, IdeaJavaToKotlinServices)
val (results, externalCodeProcessor) = converter.filesToKotlin(
psiFilesToConvert,
NewJ2kPostProcessor()
)
val (results, externalCodeProcessor) =
WriteCommandAction.runWriteCommandAction(project, Computable {
PostprocessReformattingAspect.getInstance(project).doPostponedFormatting()
return@Computable converter.filesToKotlin(psiFilesToConvert, NewJ2kPostProcessor())
})
val process = externalCodeProcessor?.prepareWriteOperation(progress = null)
fun expectedResultFile(i: Int) = File(filesToConvert[i].path.replace(".java", ".kt"))