[tests] Clean-up AbstractReferenceResolveTest.kt
Extract local `getRenderedReferencesForCaretPosition` function into a member function for clarity
This commit is contained in:
committed by
Space Team
parent
fb225f5f20
commit
e5c6a5bac3
+22
-15
@@ -56,23 +56,10 @@ abstract class AbstractReferenceResolveTest : AbstractAnalysisApiBasedTest() {
|
|||||||
testServices.assertions.fail { "No carets were specified for resolve test" }
|
testServices.assertions.fail { "No carets were specified for resolve test" }
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getRenderedReferencesForCaretPosition(caret: CaretMarker): String {
|
val resolutionAtPositions = carets.map { caret ->
|
||||||
val ktReferences = findReferencesAtCaret(ktFile, caret.offset)
|
caret to renderResolvedReferencesForCaretPosition(ktFile, caret, mainModule, testServices)
|
||||||
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 { it to getRenderedReferencesForCaretPosition(it) }
|
|
||||||
|
|
||||||
val actual = if (resolutionAtPositions.size == 1) {
|
val actual = if (resolutionAtPositions.size == 1) {
|
||||||
val (_, singleResolutionResult) = resolutionAtPositions.single()
|
val (_, singleResolutionResult) = resolutionAtPositions.single()
|
||||||
|
|
||||||
@@ -86,6 +73,26 @@ abstract class AbstractReferenceResolveTest : AbstractAnalysisApiBasedTest() {
|
|||||||
testServices.assertions.assertEqualsToTestDataFileSibling(actual)
|
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 <R> analyzeReferenceElement(element: KtElement, mainModule: TestModule, action: KtAnalysisSession.() -> R): R {
|
protected open fun <R> analyzeReferenceElement(element: KtElement, mainModule: TestModule, action: KtAnalysisSession.() -> R): R {
|
||||||
return analyseForTest(element) { action() }
|
return analyseForTest(element) { action() }
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user