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,27 @@
var xi = 0
var xin : Int? = 0
var xinn : Int? = null
var xl = 0.toLong()
var xln : Long? = 0.toLong()
var xlnn : Long? = null
var xb = 0.toByte()
var xbn : Byte? = 0.toByte()
var xbnn : Byte? = null
var xf = 0.toFloat()
var xfn : Float? = 0.toFloat()
var xfnn : Float? = null
var xd = 0.toDouble()
var xdn : Double? = 0.toDouble()
var xdnn : Double? = null
var xs = 0.toShort()
var xsn : Short? = 0.toShort()
var xsnn : Short? = null
fun box() : String {
return "OK"
}
@@ -0,0 +1,15 @@
class C(val x: Int) {
override fun equals(rhs: Any?): Boolean {
if (rhs is C) {
val rhsC = rhs as C
return rhsC.x == x
}
return false
}
}
fun box(): String {
val c1 = C(10)
val c2 = C(10)
return if (c1 == c2) "OK" else "fail"
}
@@ -0,0 +1,14 @@
class Slot() {
var vitality: Int = 10000
fun increaseVitality(delta: Int) {
vitality += delta
if (vitality > 65535) vitality = 65535;
}
}
fun box(): String {
val s = Slot()
s.increaseVitality(1000)
return if (s.vitality == 11000) "OK" else "fail"
}
@@ -0,0 +1,17 @@
// TODO: muted automatically, investigate should it be ran for JS or not
// IGNORE_BACKEND: JS, NATIVE
fun box(): String? {
val log = System.getProperty("boxtest.log")
System.clearProperty("boxtest.log") // test can be run twice
return if (log == "bca") "OK" else log
}
val b = log("b")
val c = log("c")
val a = log("a")
fun log(message: String) {
val value = (System.getProperty("boxtest.log") ?: "") + message
System.setProperty("boxtest.log", value)
}
@@ -0,0 +1,48 @@
// TODO: muted automatically, investigate should it be ran for JS or not
// IGNORE_BACKEND: JS
// KT-2202 Wrong instruction for invoke private setter
class A {
private fun f1() { }
fun foo() {
f1()
}
}
class B {
private val foo = 1
get
fun foo() {
foo
}
}
class C {
private var foo = 1
get
set
fun foo() {
foo = 2
foo
}
}
class D {
var foo = 1
private set
fun foo() {
foo = 2
}
}
fun box(): String {
A().foo()
B().foo()
C().foo()
D().foo()
return "OK"
}
@@ -0,0 +1,44 @@
// TODO: muted automatically, investigate should it be ran for JS or not
// IGNORE_BACKEND: JS, NATIVE
// WITH_RUNTIME
// FILE: 1.kt
package test
class A {}
fun getMain(className: String): java.lang.reflect.Method {
val classLoader = A().javaClass.classLoader
return classLoader.loadClass(className).getDeclaredMethod("main", Array<String>::class.java)
}
fun box(): String {
val bMain = getMain("pkg.AKt")
val cMain = getMain("pkg.BKt")
val args = Array(1, { "" })
bMain.invoke(null, args)
cMain.invoke(null, args)
return args[0]
}
// FILE: a.kt
package pkg
fun main(args: Array<String>) {
args[0] += "O"
}
// FILE: b.kt
package pkg
fun main(args: Array<String>) {
args[0] += "K"
}
@@ -0,0 +1,11 @@
val zint : Int? = 1
val zlong : Long? = 2
val zbyte : Byte? = 3
val zshort : Short? = 4
val zchar : Char? = 'c'
val zdouble : Double? = 1.0
val zfloat : Float? = 2.0.toFloat()
fun box(): String {
return "OK"
}
@@ -0,0 +1,24 @@
// FILE: box.kt
package a
import pack.*
class X : SomeClass()
fun box(): String {
X()
return "OK"
}
// FILE: file1.kt
package kotlin.jvm
private class SomeClass
// FILE: file2.kt
package pack
public open class SomeClass
@@ -0,0 +1,6 @@
package Foo
fun bar() = 610
fun box(): String {
return if (Foo.bar() == 610) "OK" else "fail"
}
@@ -0,0 +1,4 @@
private var x = "O"
private fun f() = "K"
fun box() = { x + f() }()