diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/inlays/InlayParameterHintsTest.kt b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/inlays/InlayParameterHintsTest.kt index d60c2a6dd8b1..186c008816d3 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/inlays/InlayParameterHintsTest.kt +++ b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/inlays/InlayParameterHintsTest.kt @@ -20,7 +20,9 @@ import com.intellij.codeInsight.hints.settings.ParameterNameHintsSettings import com.intellij.openapi.editor.Inlay import com.intellij.openapi.editor.ex.EditorSettingsExternalizable import com.intellij.openapi.util.TextRange +import com.intellij.psi.PsiDocumentManager import com.intellij.psi.PsiFile +import com.intellij.psi.impl.DebugUtil import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase import com.intellij.util.DocumentUtil import org.assertj.core.api.Assertions.assertThat @@ -89,7 +91,12 @@ class InlayAssert(private val file: PsiFile, val inlays: List) { val hintNames = hints.map { it.second } val elements = hintOffsets.mapNotNull { file.findElementAt(it) } - assertThat(hints.size).isEqualTo(expectedInlays.size).withFailMessage("Element at offsets: ${elements.joinToString(", ")}") + assertThat(hints.size) + .withFailMessage("Expected ${expectedInlays.size} elements with hints, Actual elements count ${hints.size}" + + ": ${elements.joinToString(", ")}, file text: \n\n ${file.text} \n\n isCommitted ${isCommitted(file)} \n\n" + + "Psi: \n ${DebugUtil.psiToString(file, true)}") + + .isEqualTo(expectedInlays.size) val expect = expectedInlays.map { it.substringBefore("->") to it.substringAfter("->") } val expectedHintNames = expect.map { it.first } @@ -101,4 +108,12 @@ class InlayAssert(private val file: PsiFile, val inlays: List) { assertThat(wordsAfter).isEqualTo(expectedWordsAfter) } + private fun isCommitted(file: PsiFile): Boolean { + val manager = PsiDocumentManager.getInstance(file.project) + val document = manager.getDocument(file) + + assertThat(document).isNotNull() + return manager.isCommitted(document!!) + } + } \ No newline at end of file