Update tests

This commit is contained in:
Roman Artemev
2018-10-29 00:35:05 +03:00
committed by romanart
parent 12848d4eff
commit 7f215d3f52
25 changed files with 110 additions and 18 deletions
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS
// WITH_RUNTIME
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS
// WITH_RUNTIME
@@ -1,5 +1,5 @@
// !LANGUAGE: +NewInference
// IGNORE_BACKEND: JS, JS_IR, JVM_IR
// IGNORE_BACKEND: JS, JVM_IR
fun foo(s: String = "kotlin", vararg t: String): Boolean {
if (s != "kotlin") throw AssertionError(s)
@@ -1,5 +1,5 @@
// !LANGUAGE: +NewInference
// IGNORE_BACKEND: JS, JS_IR, JVM_IR
// IGNORE_BACKEND: JS, JVM_IR
// WITH_RUNTIME
import kotlin.test.assertEquals
@@ -1,5 +1,5 @@
// !LANGUAGE: +NewInference
// IGNORE_BACKEND: JS, JS_IR, JVM_IR
// IGNORE_BACKEND: JS, JVM_IR
fun foo(vararg a: String, result: String = "OK"): String =
if (a.size == 0) result else "Fail"
@@ -1,5 +1,5 @@
// !LANGUAGE: +NewInference
// IGNORE_BACKEND: JS_IR, JVM_IR
// IGNORE_BACKEND: JVM_IR
fun foo(x: String, y: Char = 'K'): String = x + y
@@ -1,5 +1,5 @@
// !LANGUAGE: +NewInference
// IGNORE_BACKEND: JS, JS_IR, JVM_IR
// IGNORE_BACKEND: JS, JVM_IR
fun foo(x: String = "O", vararg y: String): String =
if (y.size == 0) x + "K" else "Fail"
@@ -1,5 +1,5 @@
// !LANGUAGE: +NewInference
// IGNORE_BACKEND: JS, JS_IR, JVM_IR
// IGNORE_BACKEND: JS, JVM_IR
fun foo(vararg l: Long, s: String = "OK"): String =
if (l.size == 0) s else "Fail"
@@ -0,0 +1,34 @@
// !LANGUAGE: +NewInference
// IGNORE_BACKEND: JS, JVM_IR
class Outer(val o: String) {
inner class Inner1(val i: Int, vararg v: String) {
val result = "I1" + o + i + if (v.size == 0) "E" else v[0]
}
inner class Inner2(val i: Int, vararg v: String = arrayOf("A")) {
val result = "I2" + o + i + v[0]
}
}
fun <T> use0(f: (Int) -> T) = f(11)
fun <T> use1(f: (Int, String) -> T) = f(12, "B")
fun box(): String {
val oouter = Outer("O")
val r1 = use0(oouter::Inner1).result
if (r1 != "I1O11E") return "Fail1: $r1"
val r2 = use1(oouter::Inner1).result
if (r2 != "I1O12B") return "Fail2: $r2"
val r3 = use0(oouter::Inner2).result
if (r3 != "I2O11A") return "Fail3: $r3"
val r4 = use1(oouter::Inner2).result
if (r4 != "I2O12B") return "Fail4: $r4"
return "OK"
}
@@ -0,0 +1,15 @@
// !LANGUAGE: +NewInference
// IGNORE_BACKEND: JVM_IR
fun call(f: (String, String) -> String, x: String, y: String): String = f(x, y)
fun box(): String {
var s = "1"
fun foo(x: String, y: String = "5", z: String = "4"): String = s + x + y + z
val r = call(::foo, "2", "3")
if (r != "1234") return "FAIL $r"
return "OK"
}
@@ -1,5 +1,5 @@
// !LANGUAGE: +NewInference
// IGNORE_BACKEND: JS, JS_IR, JVM_IR
// IGNORE_BACKEND: JS, JVM_IR
// WITH_RUNTIME
import kotlin.test.assertEquals
@@ -1,5 +1,5 @@
// !LANGUAGE: +NewInference
// IGNORE_BACKEND: JS_IR, JVM_IR
// IGNORE_BACKEND: JVM_IR
fun foo(x: String, y: String = "K"): String = x + y
@@ -1,5 +1,5 @@
// !LANGUAGE: +NewInference
// IGNORE_BACKEND: JS, JS_IR, JVM_IR
// IGNORE_BACKEND: JS, JVM_IR
fun foo(x: String, vararg y: String): String =
if (y.size == 0) x + "K" else "Fail"
@@ -1,5 +1,5 @@
// !LANGUAGE: +NewInference
// IGNORE_BACKEND: JS, JS_IR, JVM_IR
// IGNORE_BACKEND: JS, JVM_IR
fun foo(x: Int, vararg y: String = arrayOf("Aaa")): String =
if (y[0].length == x) "OK" else "Fail"