From e5c6a5bac31f4409bdcbf77d53c46ab2e8b6a63e Mon Sep 17 00:00:00 2001 From: Roman Golyshev Date: Thu, 25 Jan 2024 11:10:28 +0100 Subject: [PATCH] [tests] Clean-up `AbstractReferenceResolveTest.kt` Extract local `getRenderedReferencesForCaretPosition` function into a member function for clarity --- .../AbstractReferenceResolveTest.kt | 37 +++++++++++-------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/AbstractReferenceResolveTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/AbstractReferenceResolveTest.kt index 67971435ac3..a1a33c8921b 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/AbstractReferenceResolveTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/AbstractReferenceResolveTest.kt @@ -56,23 +56,10 @@ abstract class AbstractReferenceResolveTest : AbstractAnalysisApiBasedTest() { testServices.assertions.fail { "No carets were specified for resolve test" } } - fun getRenderedReferencesForCaretPosition(caret: CaretMarker): String { - val ktReferences = findReferencesAtCaret(ktFile, caret.offset) - if (ktReferences.isEmpty()) { - testServices.assertions.fail { "No references at caret $caret found" } - } - - val resolvedTo = analyzeReferenceElement(ktReferences.first().element, mainModule) { - val symbols = ktReferences.flatMap { it.resolveToSymbols() } - val renderPsiClassName = Directives.RENDER_PSI_CLASS_NAME in mainModule.directives - renderResolvedTo(symbols, renderPsiClassName, renderingOptions) { getAdditionalSymbolInfo(it) } - } - - return resolvedTo + val resolutionAtPositions = carets.map { caret -> + caret to renderResolvedReferencesForCaretPosition(ktFile, caret, mainModule, testServices) } - val resolutionAtPositions = carets.map { it to getRenderedReferencesForCaretPosition(it) } - val actual = if (resolutionAtPositions.size == 1) { val (_, singleResolutionResult) = resolutionAtPositions.single() @@ -86,6 +73,26 @@ abstract class AbstractReferenceResolveTest : AbstractAnalysisApiBasedTest() { testServices.assertions.assertEqualsToTestDataFileSibling(actual) } + private fun renderResolvedReferencesForCaretPosition( + ktFile: KtFile, + caret: CaretMarker, + mainModule: TestModule, + testServices: TestServices, + ): String { + val ktReferences = findReferencesAtCaret(ktFile, caret.offset) + if (ktReferences.isEmpty()) { + testServices.assertions.fail { "No references at caret $caret found" } + } + + val resolvedTo = analyzeReferenceElement(ktReferences.first().element, mainModule) { + val symbols = ktReferences.flatMap { it.resolveToSymbols() } + val renderPsiClassName = Directives.RENDER_PSI_CLASS_NAME in mainModule.directives + renderResolvedTo(symbols, renderPsiClassName, renderingOptions) { getAdditionalSymbolInfo(it) } + } + + return resolvedTo + } + protected open fun analyzeReferenceElement(element: KtElement, mainModule: TestModule, action: KtAnalysisSession.() -> R): R { return analyseForTest(element) { action() } }