Merge boxWithStdlib testData into box, delete BoxWithStdlib test
This commit is contained in:
committed by
Alexander Udalov
parent
22bfc9786a
commit
06a67e6602
+9
@@ -0,0 +1,9 @@
|
||||
// WITH_REFLECT
|
||||
|
||||
import kotlin.test.assertEquals
|
||||
|
||||
fun box(): String {
|
||||
assertEquals("Deprecated", Deprecated::class.simpleName)
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
// WITH_REFLECT
|
||||
|
||||
import kotlin.test.*
|
||||
import kotlin.reflect.KClass
|
||||
|
||||
fun box(): String {
|
||||
val any = Array<Any>::class
|
||||
val string = Array<String>::class
|
||||
|
||||
assertNotEquals<KClass<*>>(any, string)
|
||||
assertNotEquals<Class<*>>(any.java, string.java)
|
||||
|
||||
return "OK"
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
// WITH_REFLECT
|
||||
|
||||
import kotlin.test.assertEquals
|
||||
|
||||
fun box(): String {
|
||||
assertEquals("Any", Any::class.simpleName)
|
||||
assertEquals("String", String::class.simpleName)
|
||||
assertEquals("CharSequence", CharSequence::class.simpleName)
|
||||
assertEquals("Number", Number::class.simpleName)
|
||||
assertEquals("Int", Int::class.simpleName)
|
||||
assertEquals("Long", Long::class.simpleName)
|
||||
|
||||
assertEquals("Array", Array<Any>::class.simpleName)
|
||||
assertEquals("Array", Array<IntArray>::class.simpleName)
|
||||
|
||||
assertEquals("Companion", Int.Companion::class.simpleName)
|
||||
assertEquals("Companion", Double.Companion::class.simpleName)
|
||||
assertEquals("Companion", Char.Companion::class.simpleName)
|
||||
|
||||
assertEquals("IntRange", IntRange::class.simpleName)
|
||||
|
||||
assertEquals("List", List::class.simpleName)
|
||||
|
||||
// TODO: this is wrong but should be fixed
|
||||
assertEquals("List", MutableList::class.simpleName)
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
// WITH_REFLECT
|
||||
|
||||
import kotlin.test.*
|
||||
import kotlin.reflect.*
|
||||
import kotlin.reflect.jvm.*
|
||||
|
||||
class Klass
|
||||
|
||||
inline fun <reified T> arrayClass(): KClass<Array<T>> = Array<T>::class
|
||||
|
||||
fun box(): String {
|
||||
assertEquals("Array", arrayClass<Int>().simpleName)
|
||||
assertEquals("Array", arrayClass<Int?>().simpleName)
|
||||
assertEquals("Array", arrayClass<Array<Int>>().simpleName)
|
||||
assertEquals("Array", arrayClass<Klass>().simpleName)
|
||||
assertEquals("Array", arrayClass<Klass?>().simpleName)
|
||||
assertEquals("Array", arrayClass<Array<Klass>>().simpleName)
|
||||
assertEquals("Array", arrayClass<Array<Klass?>>().simpleName)
|
||||
|
||||
// Should not be that way. Fix this test when backend is fixed.
|
||||
assertEquals("[Ljava.lang.Object;", arrayClass<Int>().jvmName)
|
||||
assertEquals("[Ljava.lang.Object;", arrayClass<Int?>().jvmName)
|
||||
assertEquals("[Ljava.lang.Object;", arrayClass<Array<Int>>().jvmName)
|
||||
assertEquals("[Ljava.lang.Object;", arrayClass<Klass>().jvmName)
|
||||
assertEquals("[Ljava.lang.Object;", arrayClass<Klass?>().jvmName)
|
||||
assertEquals("[Ljava.lang.Object;", arrayClass<Array<Klass>>().jvmName)
|
||||
assertEquals("[Ljava.lang.Object;", arrayClass<Array<Klass?>>().jvmName)
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
// WITH_REFLECT
|
||||
|
||||
import kotlin.test.assertEquals
|
||||
|
||||
class Generic<K, V>
|
||||
|
||||
fun box(): String {
|
||||
val g = Generic::class
|
||||
assertEquals("Generic", g.simpleName)
|
||||
return "OK"
|
||||
}
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
// WITH_REFLECT
|
||||
|
||||
import kotlin.test.*
|
||||
|
||||
class Klass
|
||||
class Other
|
||||
|
||||
inline fun <reified T : Any> simpleName(): String =
|
||||
T::class.simpleName!!
|
||||
|
||||
inline fun <reified T1 : Any, reified T2 : Any> twoReifiedParams(): String =
|
||||
"${T1::class.simpleName!!}, ${T2::class.simpleName!!}"
|
||||
|
||||
inline fun <reified T : Any> myJavaClass(): Class<T> =
|
||||
T::class.java
|
||||
|
||||
fun box(): String {
|
||||
assertEquals("Klass", simpleName<Klass>())
|
||||
assertEquals("Int", simpleName<Int>())
|
||||
assertEquals("Array", simpleName<Array<Int>>())
|
||||
assertEquals("Error", simpleName<Error>())
|
||||
assertEquals("Klass, Other", twoReifiedParams<Klass, Other>())
|
||||
|
||||
assertEquals(String::class.java, myJavaClass<String>())
|
||||
assertEquals(IntArray::class.java, myJavaClass<IntArray>())
|
||||
assertEquals(Klass::class.java, myJavaClass<Klass>())
|
||||
assertEquals(Error::class.java, myJavaClass<Error>())
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
// WITH_REFLECT
|
||||
|
||||
class A
|
||||
|
||||
fun box(): String {
|
||||
val klass = A::class
|
||||
return if (klass.toString() == "class A") "OK" else "Fail: $klass"
|
||||
}
|
||||
Reference in New Issue
Block a user