JS backend: testFiles -> testData

This commit is contained in:
Zalim Bashorov
2014-02-26 15:39:46 +04:00
parent bcd579acdd
commit 442215e829
490 changed files with 0 additions and 0 deletions
@@ -0,0 +1,25 @@
package foo
open abstract class A() {
abstract var pos: Int;
}
class B() : A() {
override var pos: Int = 2
}
fun box(): Boolean {
val a: A = B()
if (a.pos != 2) {
return false;
}
if (B().pos != 2) {
return false;
}
a.pos = 3;
if (a.pos != 3) {
return false
}
return true
}
@@ -0,0 +1,14 @@
package foo
open class A(val name: String)
class B(val age: Int, name: String) : A(name)
fun box(): String {
val b = B(12, "Mike")
if (b.age != 12) return "b.age != 12, it: ${b.age}"
if (b.name != "Mike") return "b.name != 'Mike', it: ${b.name}"
return "OK"
}
@@ -0,0 +1,19 @@
package foo
var x = false
open class A {
{
x = (this as B).a != 3
}
}
class B(val a: Int = 3) : A() {
}
fun box(): String {
B()
if (!x) return "fail"
return "OK"
}
@@ -0,0 +1,13 @@
package foo
class A() : B() {
}
open class B() {
val a = 3
}
fun box() = (A().a == 3)
@@ -0,0 +1,37 @@
package foo
open class A() {
var order = ""
{
order = order + "A"
}
}
open class B() : A() {
{
order = order + "B"
}
}
class C() : B() {
{
order = order + "C"
}
}
class D() : B() {
{
order = order + "D"
}
}
class E() : A() {
{
order = order + "E"
}
}
fun box(): Boolean {
return (C().order == "ABC") && (D().order == "ABD") && (E().order == "AE")
}
@@ -0,0 +1,56 @@
package foo
open class A {
open fun f1() = "A1"
open fun f2() = "A2"
open fun f3() = "A3"
open fun f4() = "A4"
fun getSum(): String {
return "${f1()}|${f2()}|${f3()}|${f4()}"
}
}
trait T : A {
override fun f1() = "T1"
override fun f2() = "T2"
}
trait B : A {
override fun f1() = "B1"
override fun f3() = "B3"
}
trait N : B, T {
override fun f1() = "N1"
}
trait X {
fun f4() = "X4"
}
class C : A(), N, X {
override fun f4() = "C4"
}
fun box(): String {
val a = A()
val t = object : T, A() {
}
val b = object : B, A() {
}
val n = object : N, A() {
}
val x = object : X {
}
val c = C()
if (a.getSum() != "A1|A2|A3|A4") return "Bad a.getSum(), it: ${a.getSum()}"
if (t.getSum() != "T1|T2|A3|A4") return "Bad t.getSum(), it: ${t.getSum()}"
if (b.getSum() != "B1|A2|B3|A4") return "Bad b.getSum(), it: ${b.getSum()}"
if (n.getSum() != "N1|T2|B3|A4") return "Bad n.getSum(), it: ${n.getSum()}"
if (c.getSum() != "N1|T2|B3|C4") return "Bad c.getSum(), it: ${c.getSum()}"
if (x.f4() != "X4") return "Bad x.f4(), it: ${x.f4()}"
return "OK"
}
@@ -0,0 +1,44 @@
package foo
class C() : B() {
{
order = order + "C"
}
}
class D() : B() {
{
order = order + "D"
}
}
class E() : A() {
{
order = order + "E"
}
}
open class B() : A() {
{
order = order + "B"
}
}
open class A() : G() {
var order = ""
{
order = order + "A"
}
}
// KT-3437
abstract class G : H()
abstract class K : H()
abstract class L
abstract class H : L()
abstract class Dummy
fun box(): Boolean {
return (C().order == "ABC") && (D().order == "ABD") && (E().order == "AE")
}
@@ -0,0 +1,44 @@
package foo
class FromAny : Any()
class FromItrable(val n: Int) : Iterable<Int> {
override fun iterator() = object: Iterator<Int> {
var i = 0
override fun next() = i++
override fun hasNext() = i < n
}
}
fun <T> Iterable<T>.stringify(): String {
var s = ""
for (i in this) s += i
return s
}
fun box(): String {
val a = FromAny()
val it = FromItrable(3)
val s = it.stringify()
if (s != "012") return "s /*$s*/ != 012"
var ao = object : Any() {
}
var ito = object : Iterable<Int> {
override public fun iterator() = object: Iterator<Int> {
var i = 0
override fun next(): Int {
var r = i
i += 2
return r
}
override fun hasNext() = i < 9
}
}
val so = ito.stringify()
if (so != "02468") return "so /*$so*/ != 02468"
return "OK"
}
@@ -0,0 +1,26 @@
package foo
open class A() {
var order = ""
{
order = order + "A"
}
}
open class B() : A() {
{
order = order + "B"
}
}
class C() : B() {
{
order = order + "C"
}
}
fun box(): Boolean {
return (C().order == "ABC") && (B().order == "AB") && (A().order == "A")
}
@@ -0,0 +1,13 @@
package foo
open class A() {
var a = 3;
}
class B() : A() {
}
fun box(): Int {
return (B().a)
}
@@ -0,0 +1,13 @@
package foo
trait A : B, E
trait B
open class C {
fun foo() = true
}
trait D
trait E
trait F : G, D
trait G
fun box() = C().foo()
@@ -0,0 +1,27 @@
package foo
open class A {
fun f1(): Int {
return 1
}
open fun f2(): Int {
return 3
}
}
class B : A() {
override fun f2(): Int {
return 2
}
}
fun box(): String {
val a = A()
if (a.f1() != 1) return "a.f1() != 1, it: ${a.f1()}"
if (a.f2() != 3) return "a.f2() != 3, it: ${a.f2()}"
val b = B();
if (b.f1() != 1) return "b.f1() != 1, it: ${b.f1()}"
if (b.f2() != 2) return "b.f2() != 2, it: ${b.f2()}"
return "OK"
}
@@ -0,0 +1,15 @@
package foo
open class C() {
open val a = 1
}
class D() : C() {
override val a = 2
}
fun box(): Boolean {
val d: C = D()
if (d.a != 2) return false
return true
}
@@ -0,0 +1,12 @@
package foo
open class C(a: Int) {
val b = a
}
class D(c: Int) : C(c + 2) {
}
fun box(): Boolean {
return (D(0).b == 2)
}