Tests, refactoring: do not search for psi file twice

This commit is contained in:
Natalia Selezneva
2019-07-17 13:29:30 +03:00
parent fe662fcb2e
commit ec1bef639f
@@ -181,34 +181,34 @@ private object TestOutputHandler : ScratchOutputHandlerAdapter() {
override fun onFinish(file: ScratchFile) { override fun onFinish(file: ScratchFile) {
ApplicationManager.getApplication().invokeLater { ApplicationManager.getApplication().invokeLater {
val psiFile = file.getPsiFile()
?: error(
"PsiFile cannot be found for scratch to render inlays in tests:\n" +
"project.isDisposed = ${file.project.isDisposed}\n" +
"inlays = ${inlays.joinToString { it.second }}\n" +
"errors = ${errors.joinToString()}"
)
if (inlays.isNotEmpty()) { if (inlays.isNotEmpty()) {
val psiFile = file.getPsiFile() testPrint(psiFile, inlays.map { (expression, text) ->
?: error(
"PsiFile cannot be found for scratch to render inlays in tests:\n" +
"project.isDisposed = ${file.project.isDisposed}\n" +
"inlays = ${inlays.joinToString { it.second }}\n" +
"errors = ${errors.joinToString()}"
)
testPrint(file, inlays.map { (expression, text) ->
"/** ${getLineInfo(psiFile, expression)} $text */" "/** ${getLineInfo(psiFile, expression)} $text */"
}) })
inlays.clear() inlays.clear()
} }
if (errors.isNotEmpty()) { if (errors.isNotEmpty()) {
testPrint(file, listOf(errors.joinToString(prefix = "/** ", postfix = " */"))) testPrint(psiFile, listOf(errors.joinToString(prefix = "/** ", postfix = " */")))
errors.clear() errors.clear()
} }
} }
} }
private fun testPrint(file: ScratchFile, comments: List<String>) { private fun testPrint(file: PsiFile, comments: List<String>) {
WriteCommandAction.runWriteCommandAction(file.project) { WriteCommandAction.runWriteCommandAction(file.project) {
val psiFile = file.getPsiFile()!!
for (comment in comments) { for (comment in comments) {
psiFile.addAfter( file.addAfter(
KtPsiFactory(file.project).createComment(comment), KtPsiFactory(file.project).createComment(comment),
psiFile.lastChild file.lastChild
) )
} }
} }