KT-2752: fix JsName with explicit use target. Add some tests for JsName with use targets

This commit is contained in:
Alexey Andreev
2016-06-03 13:05:52 +03:00
parent be0013d9f2
commit 725d13b72e
20 changed files with 138 additions and 41 deletions
@@ -0,0 +1,37 @@
package foo
class A {
val x: Int
@JsName("getX_") get() = 23
var y: Int = 0
@JsName("getY_") get() = field + 10
@JsName("setY_") set(value) {
field = value
}
}
val A.z: Int
@JsName("getZ_") get() = 42
fun getPackage() = js("return Kotlin.modules.JS_TESTS.foo")
fun box(): String {
val a = A()
assertEquals(23, a.x)
assertEquals(10, a.y)
a.y = 13
assertEquals(23, a.y)
assertEquals(42, a.z)
val d: dynamic = A()
assertEquals(23, d.getX_())
assertEquals(10, d.getY_())
d.setY_(13)
assertEquals(23, d.getY_())
assertEquals(42, getPackage().getZ_(d))
return "OK"
}