JS: move more test to box tests

This commit is contained in:
Alexey Andreev
2016-08-30 14:59:26 +03:00
parent 7e2d5b04de
commit 3801052460
112 changed files with 760 additions and 676 deletions
@@ -0,0 +1,20 @@
package foo
open class A
class B : A() {
val a = 1
}
object O
interface I
enum class E {
X,
Y {
val a = 1
},
Z {}
}
@@ -0,0 +1,23 @@
package foo
fun <T> check(x: JsClass<T>, y: JsClass<T>, shouldBeEquals: Boolean = true) {
assertNotEquals(null, x)
assertNotEquals(null, y)
if (shouldBeEquals)
assertEquals(x, y)
else
assertNotEquals(x, y)
}
fun box(): String {
check(jsClass<A>(), A().jsClass)
check(jsClass<B>(), B().jsClass)
check(jsClass<O>(), O.jsClass)
assertNotEquals(null, jsClass<I>())
check(jsClass<E>(), E.X.jsClass)
check(jsClass<E>(), E.Y.jsClass, shouldBeEquals = false)
// TODO uncomment after KT-13338 is fixed
// check(jsClass<E>(), E.Z.jsClass)
return "OK"
}
@@ -0,0 +1,26 @@
package foo
fun testWithInstance() {
assertEquals("A", A().jsClass.name)
assertEquals("B", B().jsClass.name)
assertEquals("O", O.jsClass.name)
assertEquals("E", E.X.jsClass.name)
assertEquals("Y", E.Y.jsClass.name)
// TODO uncomment after KT-13338 is fixed
// assertEquals("E", E.Z.jsClass.name)
}
fun testWithClassReference() {
assertEquals("A", jsClass<A>().name)
assertEquals("B", jsClass<B>().name)
assertEquals("O", jsClass<O>().name)
assertEquals("I", jsClass<I>().name)
assertEquals("E", jsClass<E>().name)
}
fun box(): String {
testWithInstance()
testWithClassReference()
return "OK"
}
@@ -0,0 +1,15 @@
package foo
inline fun <reified T> foo(): JsClass<T> {
val T = 1
return jsClass<T>()
}
fun box(): String {
assertEquals(jsClass<A>(), foo<A>())
assertEquals(jsClass<B>(), foo<B>())
assertEquals(jsClass<O>(), foo<O>())
assertEquals(jsClass<E>(), foo<E>())
return "OK"
}