[tests] Refactor AbstractReferenceResolveTest. Part 2
Extract processing a single caret into a function, so it would be easier to process multiple carets in the future Required for KT-65152 and KT-62695
This commit is contained in:
committed by
Space Team
parent
304112cd8a
commit
0c70119637
+16
-9
@@ -51,18 +51,25 @@ abstract class AbstractReferenceResolveTest : AbstractAnalysisApiBasedTest() {
|
||||
}
|
||||
|
||||
protected fun doTestByFileStructure(ktFile: KtFile, caretPosition: Int, mainModule: TestModule, testServices: TestServices) {
|
||||
val ktReferences = findReferencesAtCaret(ktFile, caretPosition)
|
||||
if (ktReferences.isEmpty()) {
|
||||
testServices.assertions.fail { "No references at 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) }
|
||||
|
||||
fun getRenderedReferencesForCaretPosition(caretPosition: Int): String {
|
||||
val ktReferences = findReferencesAtCaret(ktFile, caretPosition)
|
||||
if (ktReferences.isEmpty()) {
|
||||
testServices.assertions.fail { "No references at caret position $caretPosition 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 resolvedTo = getRenderedReferencesForCaretPosition(caretPosition)
|
||||
val actual = "Resolved to:\n$resolvedTo"
|
||||
|
||||
testServices.assertions.assertEqualsToTestDataFileSibling(actual)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user