Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
小 白蛋
Intellij Community
Commits
5967d99f
Commit
5967d99f
authored
2 years ago
by
Jinseong Jeon
Browse files
Options
Download
Email Patches
Plain Diff
LC: regression test for findAttributeValue for attribute w/ default value
^KT-58448
parent
ebe600c7
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
plugins/kotlin/uast/uast-kotlin-base/tests/test/org/jetbrains/uast/test/common/kotlin/LightClassBehaviorTestBase.kt
+36
-0
...ins/uast/test/common/kotlin/LightClassBehaviorTestBase.kt
plugins/kotlin/uast/uast-kotlin-fir/tests/test/org/jetbrains/fir/uast/test/FirLightClassBehaviorTest.kt
+4
-0
.../org/jetbrains/fir/uast/test/FirLightClassBehaviorTest.kt
plugins/kotlin/uast/uast-kotlin/tests/test/org/jetbrains/uast/test/kotlin/comparison/FE1LightClassBehaviorTest.kt
+4
-0
.../uast/test/kotlin/comparison/FE1LightClassBehaviorTest.kt
with
44 additions
and
0 deletions
+44
-0
plugins/kotlin/uast/uast-kotlin-base/tests/test/org/jetbrains/uast/test/common/kotlin/LightClassBehaviorTestBase.kt
+
36
-
0
View file @
5967d99f
...
...
@@ -10,6 +10,8 @@ import org.jetbrains.kotlin.psi.KtModifierListOwner
import
org.jetbrains.kotlin.psi.KtProperty
import
org.jetbrains.uast.*
import
com.intellij.platform.uast.testFramework.env.findElementByTextFromPsi
import
org.jetbrains.kotlin.asJava.elements.KtLightElement
import
org.jetbrains.kotlin.test.util.joinToArrayString
import
org.jetbrains.uast.visitor.AbstractUastVisitor
// NB: Similar to [UastResolveApiFixtureTestBase], but focusing on light classes, not `resolve`
...
...
@@ -473,4 +475,38 @@ interface LightClassBehaviorTestBase : UastPluginSelection {
TestCase
.
assertEquals
(
"kotlin.jvm.functions.Function1<java.lang.Integer,java.lang.Integer>"
,
sum
?.
type
?.
canonicalText
)
}
fun
checkDefaultValueOfAnnotation
(
myFixture
:
JavaCodeInsightTestFixture
)
{
myFixture
.
configureByText
(
"main.kt"
,
"""
annotation class IntDef(
vararg val value: Int = [],
val flag: Boolean = false,
val open: Boolean = false
)
@IntDef(value = [DisconnectReasons.ENGINE_DIED, DisconnectReasons.ENGINE_DETACHED])
annotation class DisconnectReason
object DisconnectReasons {
const val ENGINE_DIED: Int = 1
const val ENGINE_DETACHED: Int = 2
}
"""
.
trimIndent
()
)
val
uFile
=
myFixture
.
file
.
toUElement
()
!!
val
klass
=
uFile
.
findElementByTextFromPsi
<
UClass
>(
"class DisconnectReason"
,
strict
=
false
)
.
orFail
(
"cant convert to UClass"
)
val
lc
=
klass
.
uAnnotations
.
single
().
javaPsi
!!
val
intValues
=
(
lc
.
findAttributeValue
(
"value"
)
as
?
PsiArrayInitializerMemberValue
)
?.
initializers
TestCase
.
assertEquals
(
"[1, 2]"
,
intValues
?.
joinToString
(
separator
=
", "
,
prefix
=
"["
,
postfix
=
"]"
)
{
annoValue
->
(
annoValue
as
?
PsiLiteral
)
?.
value
?.
toString
()
?:
annoValue
.
text
}
)
val
flagValue
=
(
lc
.
findAttributeValue
(
"flag"
)
as
?
PsiLiteral
)
?.
value
TestCase
.
assertEquals
(
"false"
,
flagValue
?.
toString
())
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
plugins/kotlin/uast/uast-kotlin-fir/tests/test/org/jetbrains/fir/uast/test/FirLightClassBehaviorTest.kt
+
4
-
0
View file @
5967d99f
...
...
@@ -68,4 +68,8 @@ class FirLightClassBehaviorTest : KotlinLightCodeInsightFixtureTestCase(), Light
fun
testUpperBoundWildcardForVar
()
{
checkUpperBoundWildcardForVar
(
myFixture
)
}
fun
testDefaultValueOfAnnotation
()
{
checkDefaultValueOfAnnotation
(
myFixture
)
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
plugins/kotlin/uast/uast-kotlin/tests/test/org/jetbrains/uast/test/kotlin/comparison/FE1LightClassBehaviorTest.kt
+
4
-
0
View file @
5967d99f
...
...
@@ -66,4 +66,8 @@ class FE1LightClassBehaviorTest : KotlinLightCodeInsightFixtureTestCase(), Light
fun
testUpperBoundWildcardForVar
()
{
checkUpperBoundWildcardForVar
(
myFixture
)
}
fun
testDefaultValueOfAnnotation
()
{
checkDefaultValueOfAnnotation
(
myFixture
)
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help