tests: Update external tests (1.1.2-dev-393)
This commit is contained in:
+27
@@ -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"
|
||||
}
|
||||
+11
@@ -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"
|
||||
}
|
||||
Vendored
+24
@@ -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"
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
private var x = "O"
|
||||
private fun f() = "K"
|
||||
|
||||
fun box() = { x + f() }()
|
||||
Reference in New Issue
Block a user