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,23 @@
package foo
class Delegate {
var inner = 1
fun get(t: Any?, p: PropertyMetadata): Int = inner
fun set(t: Any?, p: PropertyMetadata, i: Int) {
inner = i
}
}
fun foo() = Delegate()
class A {
var prop: Int by foo()
}
fun box(): String {
val c = A()
if (c.prop != 1) return "fail get"
c.prop = 2
if (c.prop != 2) return "fail set"
return "OK"
}
@@ -0,0 +1,23 @@
package foo
class Delegate {
var inner = 1
fun get(t: Any?, p: PropertyMetadata): Int = inner
fun set(t: Any?, p: PropertyMetadata, i: Int) {
inner = i
}
}
val p = Delegate()
class A {
var prop: Int by p
}
fun box(): String {
val c = A()
if (c.prop != 1) return "fail get"
c.prop = 2
if (c.prop != 2) return "fail set"
return "OK"
}
@@ -0,0 +1,14 @@
package foo
class Delegate {
fun get(t: A, p: PropertyMetadata): Int = 1
}
val A.prop: Int by Delegate()
class A {
}
fun box(): String {
return if (A().prop == 1) "OK" else "fail"
}
@@ -0,0 +1,23 @@
package foo
class Delegate {
var inner = 1
fun get(t: Any?, p: PropertyMetadata): Int = inner
fun set(t: Any?, p: PropertyMetadata, i: Int) {
inner = i
}
}
val p = Delegate()
class A {
var prop: Int by p
}
fun box(): String {
val c = A()
if (c.prop != 1) return "fail get"
c.prop = 2
if (c.prop != 2) return "fail set"
return "OK"
}
@@ -0,0 +1,14 @@
package foo
class Delegate {
}
fun Delegate.get(t: Any?, p: PropertyMetadata): Int = 1
class A {
val prop: Int by Delegate()
}
fun box(): String {
return if (A().prop == 1) "OK" else "fail"
}
@@ -0,0 +1,33 @@
package foo
trait WithName {
var name: String
}
class GetPropertyName() {
fun get(withName: WithName, property: PropertyMetadata): String {
return withName.name + ":" + property.name;
}
fun set(withName: WithName, property: PropertyMetadata, value: String) {
withName.name = value + ":" + property.name
}
}
class A : WithName {
override var name = "propertyName"
val d = GetPropertyName()
val a by d
var OK by d
}
fun box(): String {
val a = A()
if (a.a != "propertyName:a") return "a.a != 'propertyName:a', it: " + a.a
if (a.OK != "propertyName:OK") return "a.OK != 'propertyName:aOK', it: " + a.OK
a.OK = "property"
if (a.a != "property:OK:a") return "a.a != 'property:OK:a', it: " + a.a
return "OK"
}
@@ -0,0 +1,22 @@
package foo
class Delegate {
var inner = 1
fun get(t: Any?, p: PropertyMetadata): Int = inner
}
fun Delegate.set(t: Any?, p: PropertyMetadata, i: Int) {
inner = i
}
class A {
var prop: Int by Delegate()
}
fun box(): String {
val c = A()
if (c.prop != 1) return "fail get"
c.prop = 2
if (c.prop != 2) return "fail set"
return "OK"
}
@@ -0,0 +1,29 @@
package foo
trait WithNumber {
var number: Int
}
class IncNumber(val inc: Int) {
fun get(withNumber: WithNumber, property: PropertyMetadata): Int {
return withNumber.number + inc;
}
fun set(withNumber: WithNumber, property: PropertyMetadata, value: Int) {
withNumber.number = value;
}
}
class A : WithNumber {
override var number: Int = 5
var nextNumber by IncNumber(3)
}
fun box(): String {
if (A().nextNumber != 8) return "A().nextNumber != 8, it: ${A().nextNumber}"
val a = A()
a.nextNumber = 10;
if (a.number != 10) return "a.number != 10, it: " + a.number
if (a.nextNumber != 13) return "a.nextNumber != 13, it: " + a.nextNumber
return "OK"
}
@@ -0,0 +1,11 @@
package foo
class Delegate {
fun get(t: Any?, p: PropertyMetadata): Int = 1
}
val prop: Int by Delegate()
fun box(): String {
return if (prop == 1) "OK" else "fail"
}
@@ -0,0 +1,18 @@
package foo
class Delegate {
var inner = 1
fun get(t: Any?, p: PropertyMetadata): Int = inner
fun set(t: Any?, p: PropertyMetadata, i: Int) {
inner = i
}
}
var prop: Int by Delegate()
fun box(): String {
if (prop != 1) return "fail get"
prop = 2
if (prop != 2) return "fail set"
return "OK"
}
@@ -0,0 +1,41 @@
package foo
trait Getter<T> {
fun get(): T
}
class Delegate<T>(val getter: Getter<T>) {
var t: T? = null
fun get(obj: Any, property: PropertyMetadata): T {
if (t != null) {
return t!!
}
return getter.get()
}
fun set(obj: Any, property: PropertyMetadata, value: T) {
t = value
}
}
class A : Getter<Int> {
var value = 0
override fun get(): Int {
return value
}
val delegate = Delegate(this)
val a by delegate
var b by delegate
}
fun box(): String {
val a = A()
if (a.a != 0) return "a.a != 0"
if (a.b != 0) return "a.b != 0"
a.b = 4
if (a.a != 4) return "a.a != 4"
if (a.b != 4) return "a.b != 4"
return "OK"
}