JS backend: testFiles -> testData
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
package foo
|
||||
|
||||
class A() {
|
||||
var c = 3
|
||||
}
|
||||
|
||||
fun box(): Boolean {
|
||||
var a1: A? = A()
|
||||
var a2: A? = null
|
||||
a1?.c = 4
|
||||
a2?.c = 5
|
||||
if (a1?.c != 4) {
|
||||
return false;
|
||||
}
|
||||
a2 = a1
|
||||
a2?.c = 5
|
||||
return (a2?.c == 5) && (a1?.c == 5)
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package foo
|
||||
|
||||
class A() {
|
||||
fun doSomething() {
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): Boolean {
|
||||
var a: A? = null;
|
||||
a?.doSomething()
|
||||
return true;
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package foo
|
||||
|
||||
var c1 = 0;
|
||||
|
||||
fun getInt(): Int? {
|
||||
c1++
|
||||
return c1
|
||||
}
|
||||
|
||||
fun getNullInt(): Int? = null
|
||||
|
||||
fun box(): String {
|
||||
if (c1 != 0) {
|
||||
return "Start value of counter not 0, it: $c1"
|
||||
}
|
||||
val nullRes = getNullInt()?.toString()
|
||||
if (nullRes != null) {
|
||||
return "Broken safeCall. nullRes: $nullRes"
|
||||
}
|
||||
val res = getInt()?.toString()
|
||||
if (res != "1") {
|
||||
return "res != 1, it: $res, and c1: $c1"
|
||||
}
|
||||
if (c1 != 1) {
|
||||
return "Side effect. c1 != 1, it: $c1"
|
||||
}
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
package foo
|
||||
|
||||
var c1 = 0
|
||||
var c2 = 0
|
||||
var c3 = 0
|
||||
var c4 = 0
|
||||
var c5 = 0
|
||||
|
||||
fun toStr(): String {
|
||||
return "$c1$c2$c3$c4$c5"
|
||||
}
|
||||
|
||||
fun getA(): A? {
|
||||
c1++
|
||||
return A()
|
||||
}
|
||||
|
||||
fun getNullA(): A? {
|
||||
c1++
|
||||
return null
|
||||
}
|
||||
|
||||
class A {
|
||||
fun someFun(): Int {
|
||||
c2++
|
||||
return 1
|
||||
}
|
||||
val b: B
|
||||
get() {
|
||||
c3++
|
||||
return B()
|
||||
}
|
||||
}
|
||||
|
||||
fun A.extFun(): Int {
|
||||
c4++
|
||||
return 3
|
||||
}
|
||||
|
||||
class B {
|
||||
fun invoke(): Int {
|
||||
c5++
|
||||
return 2
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val n1 = getNullA()?.someFun()
|
||||
if (n1 != null || toStr() != "10000") {
|
||||
return "Bad call getNullA()?.someFun(). result: $n1, counters: ${toStr()}"
|
||||
}
|
||||
|
||||
val n2 = getNullA()?.b()
|
||||
if (n2 != null || toStr() != "20000") {
|
||||
return "Bad call getNullA()?.b(). result: $n2, counters: ${toStr()}"
|
||||
}
|
||||
|
||||
val n3 = getNullA()?.extFun()
|
||||
if (n3 != null || toStr() != "30000") {
|
||||
return "Bad call getNullA()?.extFun(). result: $n3, counters: ${toStr()}"
|
||||
}
|
||||
|
||||
val i1 = getA()?.someFun()
|
||||
if (i1 != 1 || toStr() != "41000") {
|
||||
return "Bad call getA()?.someFun(). result: $i1, counters: ${toStr()}"
|
||||
}
|
||||
|
||||
val i2 = getA()?.b()
|
||||
if (i2 != 2 || toStr() != "51101") {
|
||||
return "Bad call getA()?.b(). result: $i2, counters: ${toStr()}"
|
||||
}
|
||||
|
||||
val i3 = getA()?.extFun()
|
||||
if (i3 != 3 || toStr() != "61111") {
|
||||
return "Bad call getA()?.extFun(). result: $i3, counters: ${toStr()}"
|
||||
}
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package foo
|
||||
|
||||
class A() {
|
||||
val x = 4
|
||||
}
|
||||
|
||||
fun box(): Boolean {
|
||||
var a: A? = null;
|
||||
return (a?.x == null);
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package foo
|
||||
|
||||
class A() {
|
||||
var c = 3
|
||||
}
|
||||
|
||||
fun A.i(): Int {
|
||||
c = c + 1
|
||||
return c
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
var a1: A? = A()
|
||||
var a2: A? = null
|
||||
if (a1?.i() != 4) {
|
||||
return "1";
|
||||
}
|
||||
if (a1?.c != 4) {
|
||||
return "2";
|
||||
}
|
||||
if (a2?.c != null) {
|
||||
return "3";
|
||||
}
|
||||
a2?.i()
|
||||
if (a1?.c != 4) {
|
||||
return "4";
|
||||
}
|
||||
a2 = a1
|
||||
if (a2?.i() != 5) {
|
||||
return "5";
|
||||
}
|
||||
if ((a2?.i() != 6) || (a1?.c != 6)) {
|
||||
return "6"
|
||||
}
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user