Files
kotlin-fork/js/js.translator/testData/box/dynamic/iterator.kt
T

34 lines
821 B
Kotlin
Vendored

// KJS_WITH_FULL_RUNTIME
// EXPECTED_REACHABLE_NODES: 1556
package foo
fun testFor(expected: Int, d: dynamic, case: String) {
var actual = 0
for (v in d) {
actual += v as Int
}
assertEquals(expected, actual, "testFor on $case")
}
fun testIterator(expected: Int, d: dynamic, case: String) {
var actual = 0
val it = d.iterator()
while (it.hasNext()) {
actual += it.next() as Int
}
assertEquals(expected, actual, "testIterator on $case")
}
fun test(expected: Int, d: dynamic, case: String) {
testFor(expected, d, case)
testIterator(expected, d, case)
}
fun box(): String {
test(6, arrayOf(1, 2, 3), "array")
test(64, byteArrayOf(42, 22), "byte array")
test(66, listOf(55, 3, 8), "list")
test(167, setOf(55, 3, 8, 101), "set")
return "OK"
}