tests: Update external tests (1.1.2-dev-393)

This commit is contained in:
Ilya Matveev
2017-03-13 12:38:08 +03:00
committed by ilmat192
parent ac56fccb15
commit bc074e6d39
3178 changed files with 22396 additions and 696 deletions
@@ -0,0 +1,28 @@
// FILE: 1.kt
package test
var result = 1
inline var z: Int
get() = result
set(value) {
result = value
}
// FILE: 2.kt
import test.*
fun box(): String {
z += 1
if (z != 2) return "fail 1: $z"
var p = z++
if (result != 3) return "fail 2: $result"
if (p != 2) return "fail 3: $p"
p = ++z
if (result != 4) return "fail 4: $result"
if (p != 4) return "fail 5: $p"
return "OK"
}
@@ -0,0 +1,32 @@
// FILE: 1.kt
package test
class A {
var result = 1
inline var z: Int
get() = result
set(value) {
result = value
}
}
// FILE: 2.kt
import test.*
fun box(): String {
val a = A()
a.z += 1
if (a.z != 2) return "fail 1: $a.z"
var p = a.z++
if (a.z != 3) return "fail 2: $a.z"
if (p != 2) return "fail 3: $p"
p = ++a.z
if (a.z != 4) return "fail 4: $a.z"
if (p != 4) return "fail 5: $p"
return "OK"
}
@@ -0,0 +1,42 @@
// FILE: 1.kt
package test
class Test(var result: Int)
class A {
var result = Test(1)
inline var z: Test
get() = result
set(value) {
result = value
}
}
operator fun Test.plus(p: Int): Test {
return Test(result + p)
}
operator fun Test.inc(): Test {
return Test(result + 1)
}
// FILE: 2.kt
import test.*
fun box(): String {
val a = A()
a.z = Test(1)
a.z += 1
if (a.result.result != 2) return "fail 1: ${a.result.result}"
var p = a.z++
if (a.result.result != 3) return "fail 2: ${a.result.result}"
if (p.result != 2) return "fail 3: ${p.result}"
p = ++a.z
if (a.result.result != 4) return "fail 4: ${a.result.result}"
if (p.result != 4) return "fail 5: ${p.result}"
return "OK"
}
@@ -0,0 +1,28 @@
// FILE: 1.kt
package test
var result = 1
inline var Int.z: Int
get() = result
set(value) {
result = value + this
}
// FILE: 2.kt
import test.*
fun box(): String {
1.z += 0
if (result != 2) return "fail 1: $result"
var p = 1.z++
if (result != 4) return "fail 2: $result"
if (p != 2) return "fail 3: $p"
p = ++1.z
if (result != 6) return "fail 4: $result"
if (p != 6) return "fail 5: $p"
return "OK"
}
@@ -0,0 +1,34 @@
// FILE: 1.kt
package test
class A {
var result = 1
inline var Int.z: Int
get() = result
set(value) {
result = value + this
}
}
// FILE: 2.kt
import test.*
fun box(): String {
with(A()) {
1.z += 0
if (1.z != 2) return "fail 1: $result"
var p = 1.z++
if (1.z != 4) return "fail 2: $result"
if (p != 2) return "fail 3: $p"
p = ++1.z
if (1.z != 6) return "fail 4: $result"
if (p != 6) return "fail 5: $p"
}
return "OK"
}
@@ -0,0 +1,39 @@
// FILE: 1.kt
package test
class Test(var result: Int)
var result = Test(1)
inline var z: Test
get() = result
set(value) {
result = value
}
operator fun Test.plus(p: Int): Test {
return Test(result + p)
}
operator fun Test.inc(): Test {
return Test(result + 1)
}
// FILE: 2.kt
import test.*
fun box(): String {
z = Test(1)
z += 1
if (result.result != 2) return "fail 1: ${result.result}"
var p = z++
if (result.result != 3) return "fail 2: ${result.result}"
if (p.result != 2) return "fail 3: ${p.result}"
p = ++z
if (result.result != 4) return "fail 4: ${result.result}"
if (p.result != 4) return "fail 5: ${p.result}"
return "OK"
}
@@ -0,0 +1,162 @@
// PROPERTY_NOT_USED: p1
// PROPERTY_NOT_READ_FROM: p2
// PROPERTY_NOT_WRITTEN_TO: p3
// CHECK_NOT_CALLED: get_p4
// CHECK_NOT_CALLED: set_p4
// CHECK_NOT_CALLED: get_p5
// CHECK_NOT_CALLED: set_p6
// PROPERTY_NOT_USED: p7
// PROPERTY_NOT_READ_FROM: p8
// PROPERTY_NOT_WRITTEN_TO: p9
// CHECK_NOT_CALLED: get_p10_s8ev3o$
// CHECK_NOT_CALLED: set_p10_rksjo2$
// CHECK_NOT_CALLED: get_p11_s8ev3o$
// CHECK_NOT_CALLED: set_p12_rksjo2$
// CHECK_NOT_CALLED: get_p13
// CHECK_NOT_CALLED: set_p13
// CHECK_NOT_CALLED: get_p14
// CHECK_NOT_CALLED: set_p15
// FILE: 1.kt
package test
var a = 0
inline var p1: Int
get() = a + 10000
set(v: Int) {
a = v + 100
}
var p2: Int
inline get() = a + 20000
set(v: Int) {
a = v + 200
}
var p3: Int
get() = a + 30000
inline set(v: Int) {
a = v + 300
}
inline var Int.p4: Int
get() = this * 100 + a + 40000
set(v: Int) {
a = this + v + 400
}
var Int.p5: Int
inline get() = this * 100 + a + 50000
set(v: Int) {
a = this + v + 500
}
var Int.p6: Int
get() = this * 100 + a + 60000
inline set(v: Int) {
a = this + v + 600
}
class A {
inline var p7: Int
get() = a + 70000
set(v: Int) {
a = v + 700
}
var p8: Int
inline get() = a + 80000
set(v: Int) {
a = v + 800
}
var p9: Int
get() = a + 90000
inline set(v: Int) {
a = v + 900
}
inline var Int.p10: Int
get() = this * 100 + a + 100000
set(v: Int) {
a = this + v + 1000
}
var Int.p11: Int
inline get() = this * 100 + a + 110000
set(v: Int) {
a = this + v + 1100
}
var Int.p12: Int
get() = this * 100 + a + 120000
inline set(v: Int) {
a = this + v + 1200
}
}
inline var A.p13: Int
get() = a + 130000
set(v: Int) {
a = v + 1300
}
var A.p14: Int
inline get() = a + 140000
set(v: Int) {
a = v + 1400
}
var A.p15: Int
get() = a + 150000
inline set(v: Int) {
a = v + 1500
}
// FILE: 2.kt
import test.*
fun box(): String {
p1 = 1
if (p1 != 10101) return "test1: $p1"
p2 = 2
if (p2 != 20202) return "test2: $p2"
p3 = 3
if (p3 != 30303) return "test3: $p3"
4000000.p4 = 4
if (4000000.p4 != 404040404) return "test4: ${4000000.p4}"
5000000.p5 = 5
if (5000000.p5 != 505050505) return "test5: ${5000000.p5}"
6000000.p6 = 6
if (6000000.p6 != 606060606) return "test6: ${6000000.p6}"
val a = A()
a.p7 = 7
if (a.p7 != 70707) return "test7: ${a.p7}"
a.p8 = 8
if (a.p8 != 80808) return "test8: ${a.p8}"
a.p9 = 9
if (a.p9 != 90909) return "test9: ${a.p9}"
with (a) {
10000000.p10 = 10
if (10000000.p10 != 1010101010) return "test10: ${10000000.p10}"
11000000.p11 = 11
if (11000000.p11 != 1111111111) return "test11: ${11000000.p11}"
12000000.p12 = 12
if (12000000.p12 != 1212121212) return "test12: ${12000000.p12}"
}
a.p13 = 13
if (a.p13 != 131313) return "test13: ${a.p13}"
a.p14 = 14
if (a.p14 != 141414) return "test14: ${a.p14}"
a.p15 = 15
if (a.p15 != 151515) return "test15: ${a.p15}"
return "OK"
}
@@ -0,0 +1,17 @@
// IGNORE_BACKEND: NATIVE
// WITH_RUNTIME
// WITH_REFLECT
// FILE: 1.kt
package test
inline val <reified T: Any> T.value: String
get() = T::class.simpleName!!
// FILE: 2.kt
import test.*
class OK
fun box(): String {
return OK().value ?: "fail"
}
@@ -0,0 +1,27 @@
// IGNORE_BACKEND: NATIVE
// WITH_RUNTIME
// WITH_REFLECT
// FILE: 1.kt
package test
var bvalue: String = ""
inline var <reified T : Any> T.value: String
get() = T::class.simpleName!! + bvalue
set(p: String) {
bvalue = p
}
// FILE: 2.kt
import test.*
class O
fun box(): String {
val o = O()
val value1 = o.value
if (value1 != "O") return "fail 1: $value1"
o.value = "K"
return o.value
}
@@ -0,0 +1,25 @@
// FILE: 1.kt
package test
var value: Int = 0
inline var z: Int
get() = ++value
set(p: Int) { value = p }
// FILE: 2.kt
import test.*
fun box(): String {
val v = z
if (value != 1) return "fail 1: $value"
z = v + 2
if (value != 3) return "fail 2: $value"
var p = z
if (value != 4) return "fail 3: $value"
return "OK"
}
@@ -0,0 +1,25 @@
// FILE: 1.kt
package test
var value: Int = 0
inline var Int.z: Int
get() = this + ++value
set(p: Int) { value = p + this}
// FILE: 2.kt
import test.*
fun box(): String {
val v = 11.z
if (v != 12) return "fail 1: $v"
11.z = v + 2
if (value != 25) return "fail 2: $value"
var p = 11.z
if (p != 37) return "fail 3: $p"
return "OK"
}