backend/tests: Add blackbox tests from Kotlin JVM
Added tests from testData/codegen/box directory. There are blackbox tests in other directories and they are to be added.
This commit is contained in:
+13
@@ -0,0 +1,13 @@
|
||||
// TODO: muted automatically, investigate should it be ran for JS or not
|
||||
// IGNORE_BACKEND: JS
|
||||
|
||||
fun checkLess(x: Boolean, y: Boolean) = when {
|
||||
x >= y -> "Fail $x >= $y"
|
||||
!(x < y) -> "Fail !($x < $y)"
|
||||
!(x <= y) -> "Fail !($x <= $y)"
|
||||
x > y -> "Fail $x > $y"
|
||||
x.compareTo(y) >= 0 -> "Fail $x.compareTo($y) >= 0"
|
||||
else -> "OK"
|
||||
}
|
||||
|
||||
fun box() = checkLess(false, true)
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
interface A : Comparable<A>
|
||||
|
||||
class B(val x: Int) : A {
|
||||
override fun compareTo(other: A) = x.compareTo((other as B).x)
|
||||
}
|
||||
|
||||
fun checkLess(x: A, y: A) = when {
|
||||
x >= y -> "Fail $x >= $y"
|
||||
!(x < y) -> "Fail !($x < $y)"
|
||||
!(x <= y) -> "Fail !($x <= $y)"
|
||||
x > y -> "Fail $x > $y"
|
||||
x.compareTo(y) >= 0 -> "Fail $x.compareTo($y) >= 0"
|
||||
else -> "OK"
|
||||
}
|
||||
|
||||
fun box() = checkLess(B(0), B(1))
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
fun checkLess(x: Double, y: Int) = when {
|
||||
x >= y -> "Fail $x >= $y"
|
||||
!(x < y) -> "Fail !($x < $y)"
|
||||
!(x <= y) -> "Fail !($x <= $y)"
|
||||
x > y -> "Fail $x > $y"
|
||||
x.compareTo(y) >= 0 -> "Fail $x.compareTo($y) >= 0"
|
||||
else -> "OK"
|
||||
}
|
||||
|
||||
fun box() = checkLess(0.5, 1)
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
fun checkLess(x: Double, y: Long) = when {
|
||||
x >= y -> "Fail $x >= $y"
|
||||
!(x < y) -> "Fail !($x < $y)"
|
||||
!(x <= y) -> "Fail !($x <= $y)"
|
||||
x > y -> "Fail $x > $y"
|
||||
x.compareTo(y) >= 0 -> "Fail $x.compareTo($y) >= 0"
|
||||
else -> "OK"
|
||||
}
|
||||
|
||||
fun box() = checkLess(0.5, 1.toLong())
|
||||
Vendored
+16
@@ -0,0 +1,16 @@
|
||||
fun checkLess(x: Array<Int>, y: Array<Int>) = when {
|
||||
x >= y -> "Fail $x >= $y"
|
||||
!(x < y) -> "Fail !($x < $y)"
|
||||
!(x <= y) -> "Fail !($x <= $y)"
|
||||
x > y -> "Fail $x > $y"
|
||||
x.compareTo(y) >= 0 -> "Fail $x.compareTo($y) >= 0"
|
||||
else -> "OK"
|
||||
}
|
||||
|
||||
operator fun Array<Int>.compareTo(other: Array<Int>) = size - other.size
|
||||
|
||||
fun box(): String {
|
||||
val a = arrayOfNulls<Int>(0) as Array<Int>
|
||||
val b = arrayOfNulls<Int>(1) as Array<Int>
|
||||
return checkLess(a, b)
|
||||
}
|
||||
Vendored
+14
@@ -0,0 +1,14 @@
|
||||
class A(val x: Int)
|
||||
|
||||
operator fun A.compareTo(other: A) = x.compareTo(other.x)
|
||||
|
||||
fun checkLess(x: A, y: A) = when {
|
||||
x >= y -> "Fail $x >= $y"
|
||||
!(x < y) -> "Fail !($x < $y)"
|
||||
!(x <= y) -> "Fail !($x <= $y)"
|
||||
x > y -> "Fail $x > $y"
|
||||
x.compareTo(y) >= 0 -> "Fail $x.compareTo($y) >= 0"
|
||||
else -> "OK"
|
||||
}
|
||||
|
||||
fun box() = checkLess(A(0), A(1))
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
fun checkLess(x: Int, y: Double) = when {
|
||||
x >= y -> "Fail $x >= $y"
|
||||
!(x < y) -> "Fail !($x < $y)"
|
||||
!(x <= y) -> "Fail !($x <= $y)"
|
||||
x > y -> "Fail $x > $y"
|
||||
x.compareTo(y) >= 0 -> "Fail $x.compareTo($y) >= 0"
|
||||
else -> "OK"
|
||||
}
|
||||
|
||||
fun box() = checkLess(0, 0.5)
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
fun checkLess(x: Int, y: Long) = when {
|
||||
x >= y -> "Fail $x >= $y"
|
||||
!(x < y) -> "Fail !($x < $y)"
|
||||
!(x <= y) -> "Fail !($x <= $y)"
|
||||
x > y -> "Fail $x > $y"
|
||||
x.compareTo(y) >= 0 -> "Fail $x.compareTo($y) >= 0"
|
||||
else -> "OK"
|
||||
}
|
||||
|
||||
fun box() = checkLess(0, 123456789123.toLong())
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
fun checkLess(x: Long, y: Double) = when {
|
||||
x >= y -> "Fail $x >= $y"
|
||||
!(x < y) -> "Fail !($x < $y)"
|
||||
!(x <= y) -> "Fail !($x <= $y)"
|
||||
x > y -> "Fail $x > $y"
|
||||
x.compareTo(y) >= 0 -> "Fail $x.compareTo($y) >= 0"
|
||||
else -> "OK"
|
||||
}
|
||||
|
||||
fun box() = checkLess(0.toLong(), 0.5)
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
fun checkLess(x: Long, y: Int) = when {
|
||||
x >= y -> "Fail $x >= $y"
|
||||
!(x < y) -> "Fail !($x < $y)"
|
||||
!(x <= y) -> "Fail !($x <= $y)"
|
||||
x > y -> "Fail $x > $y"
|
||||
x.compareTo(y) >= 0 -> "Fail $x.compareTo($y) >= 0"
|
||||
else -> "OK"
|
||||
}
|
||||
|
||||
fun box() = checkLess(-123456789123.toLong(), 0)
|
||||
Reference in New Issue
Block a user