38 lines
1.2 KiB
Kotlin
38 lines
1.2 KiB
Kotlin
package dev.hgh.jai.findusages
|
|
|
|
import com.intellij.psi.search.searches.ReferencesSearch
|
|
import com.intellij.psi.util.PsiTreeUtil
|
|
import com.intellij.testFramework.fixtures.BasePlatformTestCase
|
|
import dev.hgh.jai.psi.JaiDeclName
|
|
|
|
class JaiFindUsagesTest : BasePlatformTestCase() {
|
|
fun testFindUsagesActionFindsProcedureReference() {
|
|
val usages = myFixture.testFindUsages("Declaration.jai", "Usage.jai")
|
|
|
|
assertEquals(1, usages.size)
|
|
}
|
|
|
|
fun testFindsProcedureReferencesFromDeclaration() {
|
|
val source =
|
|
myFixture.addFileToProject(
|
|
"find-usages.jai",
|
|
"""
|
|
helper :: () {}
|
|
first :: () { helper(); }
|
|
second :: () { helper(); }
|
|
""".trimIndent(),
|
|
)
|
|
val declaration =
|
|
PsiTreeUtil
|
|
.findChildrenOfType(source, JaiDeclName::class.java)
|
|
.single { it.text == "helper" }
|
|
|
|
val usages = ReferencesSearch.search(declaration).findAll()
|
|
|
|
assertEquals(2, usages.size)
|
|
assertTrue(usages.all { it.element.text == "helper" })
|
|
}
|
|
|
|
override fun getTestDataPath(): String = "src/test/testData/findusages"
|
|
}
|