[tests] Refactor AbstractReferenceResolveTest. Part 3

Add possibility to `ExpressionMarkerProvider` to get all the carets
from the file.
Use it in `AbstractReferenceResolveTest`, but not check all the carets
yet.

Required for KT-65152 and KT-62695
This commit is contained in:
Roman Golyshev
2024-01-18 16:09:14 +01:00
committed by Space Team
parent 0c70119637
commit 17c1352d82
2 changed files with 13 additions and 1 deletions
@@ -99,6 +99,10 @@ class ExpressionMarkerProvider : TestService {
}
}
fun getAllCaretsPositions(file: PsiFile): List<Int> {
return carets.getAllCaretsOffsets(file.name)
}
fun getSelectedRangeOrNull(file: PsiFile): TextRange? = selected[file.name]
fun getSelectedRange(file: PsiFile): TextRange = getSelectedRangeOrNull(file) ?: error("No selected expression found in file")
@@ -265,6 +269,10 @@ private class CaretProvider {
return cartsInFile.getCaretOffsetByTag(caretTag)
}
fun getAllCaretsOffsets(filename: String): List<Int> {
return caretToFile[filename]?.getAllCaretsOffsets().orEmpty()
}
fun addCaret(filename: String, caretTag: String?, caretOffset: Int) {
val cartsInFile = caretToFile.getOrPut(filename) { CaretsInFile() }
cartsInFile.addCaret(caretTag, caretOffset)
@@ -277,6 +285,10 @@ private class CaretProvider {
return carets[tag.orEmpty()]
}
fun getAllCaretsOffsets(): List<Int> {
return carets.values.toList()
}
fun addCaret(caretTag: String?, caretOffset: Int) {
carets[caretTag.orEmpty()] = caretOffset
}