Files
kotlin-fork/native/native.tests/testData/codegen/initializers/static_varargChange.kt
T
2023-12-19 10:57:24 +00:00

27 lines
854 B
Kotlin
Vendored

/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
import kotlin.test.*
fun box(): String {
fun varargGetter(position:Int, vararg x: Int): Int {
x[position] *= 5;
return x[position]
}
repeat(3) {
assertEquals(10, varargGetter(0, 2, 3, 4))
assertEquals(10, varargGetter(0, 2, 3, 4))
assertEquals(15, varargGetter(1, 2, 3, 4))
assertEquals(15, varargGetter(1, 2, 3, 4))
assertEquals(20, varargGetter(2, 2, 3, 4))
assertEquals(20, varargGetter(2, 2, 3, 4))
// the following assert might fail on Kotlin/WASM
assertFailsWith<IndexOutOfBoundsException> { varargGetter(3, 2, 3, 4) }
}
return "OK"
}