Aligh test data with JDK 15 reflection output

This commit is contained in:
Mikhael Bogdanov
2021-02-05 14:12:38 +01:00
parent 21e9f67322
commit 3dff225b98
6 changed files with 18 additions and 13 deletions
@@ -32,7 +32,7 @@ fun check(clazz: Class<*>, expected: Boolean = true) {
assertTrue(Modifier.isStatic(method.modifiers))
assertTrue(Modifier.isPublic(method.modifiers))
val str = method.declaredAnnotations.single().toString()
assertTrue("@test.Anno\\(value=\"?OK\"?\\)".toRegex().matches(str), str)
assertTrue("@test.Anno\\((value=)?\"?OK\"?\\)".toRegex().matches(str), str)
return
}
}
@@ -9,14 +9,14 @@ public class A<@Anno(1) T> {}
// FILE: Anno.kt
import kotlin.test.assertEquals
import kotlin.test.assertTrue
@Target(AnnotationTarget.TYPE_PARAMETER)
annotation class Anno(val value: Int = 0)
fun box(): String {
val typeParameter = A::class.java.typeParameters.single()
assertEquals("[@Anno(value=1)]", typeParameter.annotations.toList().toString())
val parametertoString = typeParameter.annotations.toList().toString()
assertTrue("\\[@Anno\\((value=)?1\\)\\]".toRegex().matches(parametertoString), parametertoString)
return "OK"
}
@@ -14,17 +14,19 @@ public class A {
// FILE: Anno.kt
import java.lang.reflect.AnnotatedParameterizedType
import kotlin.test.assertEquals
import kotlin.test.assertTrue
@Target(AnnotationTarget.TYPE)
annotation class Anno(val value: Int = 0)
fun box(): String {
val method = A::class.java.declaredMethods.single()
assertEquals("[@Anno(value=1)]", method.annotatedReturnType.annotations.toList().toString())
val methodToString = method.annotatedReturnType.annotations.toList().toString()
assertTrue("\\[@Anno\\((value=)?1\\)\\]".toRegex().matches(methodToString), methodToString)
val parameterType = method.parameters.single().annotatedType as AnnotatedParameterizedType
assertEquals("[@Anno(value=2)]", parameterType.annotatedActualTypeArguments.single().annotations.toList().toString())
val parameterToString = parameterType.annotatedActualTypeArguments.single().annotations.toList().toString()
assertTrue("\\[@Anno\\((value=)?2\\)\\]".toRegex().matches(parameterToString), parameterToString)
return "OK"
}