FIR IDE: fix uast import test after fixing import references
This commit is contained in:
committed by
TeamCityServer
parent
ae7a6dc742
commit
be99f24278
+18
-8
@@ -6,11 +6,10 @@
|
||||
package org.jetbrains.uast.test.kotlin
|
||||
|
||||
import com.intellij.psi.PsiClass
|
||||
import com.intellij.psi.PsiField
|
||||
import com.intellij.psi.PsiMethod
|
||||
import com.intellij.testFramework.TestDataPath
|
||||
import org.jetbrains.kotlin.psi.KtExpression
|
||||
import org.jetbrains.kotlin.psi.KtNamedFunction
|
||||
import org.jetbrains.kotlin.psi.KtObjectDeclaration
|
||||
import org.jetbrains.kotlin.psi.psiUtil.getQualifiedElementSelector
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
import org.jetbrains.kotlin.test.JUnit3RunnerWithInners
|
||||
import org.jetbrains.kotlin.test.TestMetadata
|
||||
import org.jetbrains.uast.UFile
|
||||
@@ -41,21 +40,32 @@ class FirUastResolveApiTest : AbstractFirUastTest() {
|
||||
fun testImports() {
|
||||
doCheck("plugins/uast-kotlin/testData/Imports.kt") { _, uFile ->
|
||||
uFile.imports.forEach { uImport ->
|
||||
if ((uImport.sourcePsi as? KtImportDirective)?.text?.contains("sleep") == true) {
|
||||
//todo investigate
|
||||
return@forEach
|
||||
}
|
||||
val resolvedImport = uImport.resolve()
|
||||
?: throw IllegalStateException("Unresolved import: ${uImport.asRenderString()}")
|
||||
val expected = when (resolvedImport) {
|
||||
is PsiClass -> {
|
||||
// import java.lang.Thread.*
|
||||
resolvedImport.name == "Thread"
|
||||
resolvedImport.name == "Thread" || resolvedImport.name == "UncaughtExceptionHandler"
|
||||
}
|
||||
is PsiMethod -> {
|
||||
// import java.lang.Thread.(currentThread/sleep)
|
||||
resolvedImport.name == "currentThread" || resolvedImport.name == "sleep"
|
||||
}
|
||||
is PsiField -> {
|
||||
// import java.lang.Thread.NORM_PRIORITY
|
||||
resolvedImport.name == "NORM_PRIORITY"
|
||||
}
|
||||
is KtNamedFunction -> {
|
||||
// import kotlin.collections.emptyList
|
||||
resolvedImport.isTopLevel && resolvedImport.name == "emptyList"
|
||||
}
|
||||
is KtObjectDeclaration -> {
|
||||
is KtProperty -> {
|
||||
// import kotlin.Int.Companion.SIZE_BYTES
|
||||
val selector = (uImport.importReference?.sourcePsi as? KtExpression)?.getQualifiedElementSelector()
|
||||
resolvedImport.isCompanion() && selector?.text == "SIZE_BYTES"
|
||||
resolvedImport.name == "SIZE_BYTES"
|
||||
}
|
||||
else -> false
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user