Files
kotlin-fork/js/js.translator/testData/box/objectDeclaration/dontPolluteObject.kt
T
Ilya Gorbunov 516ea04d18 Update expected reachable node count in JS tests
Caused by introduction of new random API
2018-08-30 14:52:40 +03:00

48 lines
1.0 KiB
Kotlin
Vendored

// IGNORE_BACKEND: JS_IR
// EXPECTED_REACHABLE_NODES: 1545
package foo
object EmptyObject {}
object SomeObject {
val foo = 1
var bar = "t"
fun baz() {}
}
val emptyObjectExpr = object {}
val someObjectExpr = object {
val foo = 1
var bar = "t"
fun baz() {}
}
val o = js("Object")
fun keys(a: Any): List<String> {
val arr: Array<String> = o.keys(a)
return arr.toList()
}
fun getOwnPropertyNames(a: Any): List<String> {
val arr: Array<String> = o.getOwnPropertyNames(a)
return arr.toList()
}
fun box(): String {
assertEquals(listOf(), getOwnPropertyNames(EmptyObject))
assertEquals(listOf(), keys(EmptyObject))
assertEquals(listOf("foo", "bar"), getOwnPropertyNames(SomeObject))
assertEquals(listOf("foo", "bar"), keys(SomeObject))
assertEquals(listOf(), getOwnPropertyNames(emptyObjectExpr))
assertEquals(listOf(), keys(emptyObjectExpr))
assertEquals(listOf("foo", "bar"), getOwnPropertyNames(someObjectExpr))
assertEquals(listOf("foo", "bar"), keys(someObjectExpr))
return "OK"
}