JS: create new common directory for all generated tests, migrate several tests there
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
package foo
|
||||
|
||||
class B(val name: String)
|
||||
|
||||
class A(val a: Int, var b: B) {
|
||||
var copyB: B
|
||||
init {
|
||||
copyB = b
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val a = A(5, B("OK"))
|
||||
if (a.a != 5) return "a.a != 5, it: ${a.a}"
|
||||
if (a.b.name != "OK") return "a.b.name != 'OK', it: ${a.b.name}"
|
||||
if (a.copyB!!.name != "OK") return "a.b.name != 'OK', it: ${a.copyB!!.name}"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package foo
|
||||
|
||||
fun f() {}
|
||||
|
||||
class A(selector: Boolean, val y: Int) {
|
||||
val x = if (selector) { f(); y } else 999
|
||||
val z = if (selector) { f(); x + 1 } else 999
|
||||
}
|
||||
|
||||
class B(selector: Boolean, val y: Int, val x: Int = if (selector) { f(); y } else { 999 })
|
||||
|
||||
fun box(): String {
|
||||
val a = A(true, 23)
|
||||
if (a.x != 23) return "fail: wrong evaluation order for property initializer (1): ${a.x}"
|
||||
if (a.z != 24) return "fail: wrong evaluation order for property initializer (2): ${a.z}"
|
||||
|
||||
val b = B(true, 23)
|
||||
if (b.x != 23) return "fail: wrong evaluation order for default constructor arguments"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
package foo
|
||||
|
||||
fun f() {}
|
||||
fun selector() = true
|
||||
|
||||
val y = if (selector()) 23 else throw Exception()
|
||||
val x = if (selector()) { f(); y + 1 } else 999
|
||||
val z = if (selector()) { f(); x + 1 } else 999
|
||||
|
||||
fun box(): String {
|
||||
if (x != 24) return "fail1: $x"
|
||||
if (z != 25) return "fail2: $z"
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
// See KT-12254
|
||||
package foo
|
||||
|
||||
object A {
|
||||
var x: Int = throw RuntimeException("catch me")
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
try {
|
||||
return "fail: ${A.x.toString()}"
|
||||
}
|
||||
catch (e: RuntimeException) {
|
||||
return if (e.message == "catch me") "OK" else "fail: ${e.message}"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
class A(val a: Int)
|
||||
|
||||
val x = 1
|
||||
val a = A(2)
|
||||
|
||||
fun box(): String {
|
||||
if (x != 1) return "x != 1, it: $x"
|
||||
if (a.a != 2) return "a.a != 2, it: ${a.a}"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package foo
|
||||
|
||||
class A(val a: Int)
|
||||
|
||||
class Empty
|
||||
|
||||
val x = 1
|
||||
val a = A(2)
|
||||
val e = Empty()
|
||||
|
||||
fun box(): String {
|
||||
if (x != 1) return "x != 1, it: $x"
|
||||
if (a.a != 2) return "a.a != 2, it: ${a.a}"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user