Extract some codegen tests to black box testData
This commit is contained in:
committed by
Alexander Udalov
parent
f7e0b06c2f
commit
10c5949199
@@ -0,0 +1,8 @@
|
||||
fun foo(x: Any) = x as Runnable
|
||||
|
||||
fun box(): String {
|
||||
val r = object : Runnable {
|
||||
override fun run() {}
|
||||
}
|
||||
return if (foo(r) identityEquals r) "OK" else "Fail"
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
fun foo(x: Any) = x as? Runnable
|
||||
|
||||
fun box(): String {
|
||||
val r = object : Runnable {
|
||||
override fun run() {}
|
||||
}
|
||||
return if (foo(r) identityEquals r) "OK" else "Fail"
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
fun foo(x: Any) = x is Runnable
|
||||
|
||||
fun box(): String {
|
||||
val r = object : Runnable {
|
||||
override fun run() {}
|
||||
}
|
||||
return if (foo(r) && !foo(42)) "OK" else "Fail"
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
fun foo(x: Any) = x !is Runnable
|
||||
|
||||
fun box(): String {
|
||||
val r = object : Runnable {
|
||||
override fun run() {}
|
||||
}
|
||||
return if (!foo(r) && foo(42)) "OK" else "Fail"
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
fun StringBuilder.first() = this.charAt(0)
|
||||
|
||||
fun foo() = StringBuilder("foo").first()
|
||||
|
||||
fun box() = if (foo() == 'f') "OK" else "Fail ${foo()}"
|
||||
@@ -0,0 +1,24 @@
|
||||
fun StringBuilder.takeFirst(): Char {
|
||||
if (this.length() == 0) return 0.toChar()
|
||||
val c = this.charAt(0)
|
||||
this.deleteCharAt(0)
|
||||
return c
|
||||
}
|
||||
|
||||
fun foo(expr: StringBuilder): Int {
|
||||
val c = expr.takeFirst()
|
||||
when(c) {
|
||||
0.toChar() -> throw Exception("zero")
|
||||
else -> throw Exception("nonzero" + c)
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
try {
|
||||
foo(StringBuilder())
|
||||
return "Fail"
|
||||
}
|
||||
catch (e: Exception) {
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package demo
|
||||
|
||||
fun box() : String {
|
||||
var res : Boolean = true
|
||||
res = (res and false)
|
||||
res = (res or false)
|
||||
res = (res xor false)
|
||||
res = (true and false)
|
||||
res = (true or false)
|
||||
res = (true xor false)
|
||||
res = (!true)
|
||||
res = (true && false)
|
||||
res = (true || false)
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
fun box(): String {
|
||||
val iterator: Iterator<Int> = (0..0).iterator()
|
||||
for (i in iterator) {
|
||||
return "OK"
|
||||
}
|
||||
return "fail"
|
||||
}
|
||||
Reference in New Issue
Block a user