JS: move more test to box tests
This commit is contained in:
+18
@@ -0,0 +1,18 @@
|
||||
// FILE: A.kt
|
||||
package foo
|
||||
|
||||
open class A() {
|
||||
fun f() = 3
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
return if ((A().f() + bar.A().f()) == 9) "OK" else "fail"
|
||||
}
|
||||
|
||||
|
||||
// FILE: B.kt
|
||||
package bar
|
||||
|
||||
open class A() {
|
||||
fun f() = 6
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
// FILE: a.kt
|
||||
package foo
|
||||
|
||||
open class A() {
|
||||
open fun f() = 3;
|
||||
}
|
||||
|
||||
open class C() : B() {
|
||||
override fun f() = 5
|
||||
}
|
||||
|
||||
|
||||
// FILE: b.kt
|
||||
package foo
|
||||
|
||||
open class B() : A() {
|
||||
override fun f() = 4
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
if (A().f() != 3) return "fail1"
|
||||
if (B().f() != 4) return "fail2"
|
||||
if (C().f() != 5) return "fail3"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
// FILE: a.kt
|
||||
package foo
|
||||
|
||||
fun f() = 3;
|
||||
|
||||
|
||||
// FILE: b.kt
|
||||
package foo
|
||||
|
||||
fun box() = if (f() == 3) "OK" else "fail"
|
||||
@@ -0,0 +1,14 @@
|
||||
// MODULE: main(module1)
|
||||
// FILE: main.kt
|
||||
|
||||
fun box(): String {
|
||||
var module1 = bar()
|
||||
assertEquals("bar", module1)
|
||||
|
||||
return "OK"
|
||||
}
|
||||
|
||||
// MODULE: module1
|
||||
// FILE: module1.kt
|
||||
|
||||
fun bar() = "bar"
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
// MODULE: main(module1)
|
||||
// FILE: main.kt
|
||||
|
||||
fun box(): String {
|
||||
|
||||
assertEquals("A: invoked from module", f("A"))
|
||||
assertEquals(10, A(10).x)
|
||||
|
||||
return "OK"
|
||||
}
|
||||
|
||||
// MODULE: module1
|
||||
// FILE: module1.kt
|
||||
|
||||
public fun f(s: String): String = "${s}: invoked from module"
|
||||
|
||||
public class A(val x: Int)
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
// MODULE: module-1
|
||||
// FILE: bar.kt
|
||||
// MODULE_KIND: AMD
|
||||
fun bar() = "bar"
|
||||
|
||||
// MODULE: main(module-1)
|
||||
// FILE: box.kt
|
||||
// MODULE_KIND: AMD
|
||||
fun box(): String {
|
||||
assertEquals("bar", bar())
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
// MODULE: module1
|
||||
// FILE: bar.kt
|
||||
// MODULE_KIND: AMD
|
||||
fun bar() = "bar"
|
||||
|
||||
// MODULE: main(module1)
|
||||
// FILE: box.kt
|
||||
// MODULE_KIND: AMD
|
||||
fun box(): String {
|
||||
assertEquals("bar", bar())
|
||||
return "OK"
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
// MODULE: module-1
|
||||
// FILE: bar.kt
|
||||
// MODULE_KIND: COMMON_JS
|
||||
fun bar() = "bar"
|
||||
|
||||
// MODULE: main(module-1)
|
||||
// FILE: box.kt
|
||||
// MODULE_KIND: COMMON_JS
|
||||
fun box(): String {
|
||||
assertEquals("bar", bar())
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
// MODULE: module1
|
||||
// FILE: bar.kt
|
||||
// MODULE_KIND: COMMON_JS
|
||||
fun bar() = "bar"
|
||||
|
||||
// MODULE: main(module1)
|
||||
// FILE: box.kt
|
||||
// MODULE_KIND: COMMON_JS
|
||||
fun box(): String {
|
||||
assertEquals("bar", bar())
|
||||
return "OK"
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
// MODULE: module-1
|
||||
// FILE: bar.kt
|
||||
// MODULE_KIND: PLAIN
|
||||
fun bar() = "bar"
|
||||
|
||||
// MODULE: main(module-1)
|
||||
// FILE: box.kt
|
||||
// MODULE_KIND: PLAIN
|
||||
fun box(): String {
|
||||
assertEquals("bar", bar())
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
// MODULE: module1
|
||||
// FILE: bar.kt
|
||||
// MODULE_KIND: PLAIN
|
||||
fun bar() = "bar"
|
||||
|
||||
// MODULE: main(module1)
|
||||
// FILE: box.kt
|
||||
// MODULE_KIND: PLAIN
|
||||
fun box(): String {
|
||||
assertEquals("bar", bar())
|
||||
return "OK"
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
// MODULE: module-1
|
||||
// FILE: bar.kt
|
||||
// MODULE_KIND: UMD
|
||||
fun bar() = "bar"
|
||||
|
||||
// MODULE: main(module-1)
|
||||
// FILE: box.kt
|
||||
// MODULE_KIND: UMD
|
||||
fun box(): String {
|
||||
assertEquals("bar", bar())
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
// MODULE: module1
|
||||
// FILE: bar.kt
|
||||
// MODULE_KIND: UMD
|
||||
fun bar() = "bar"
|
||||
|
||||
// MODULE: main(module1)
|
||||
// FILE: box.kt
|
||||
// MODULE_KIND: UMD
|
||||
fun box(): String {
|
||||
assertEquals("bar", bar())
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package foo
|
||||
|
||||
class A {
|
||||
operator fun component1(): Int = 1
|
||||
}
|
||||
operator fun A.component2(): String = "n"
|
||||
|
||||
fun box(): String {
|
||||
val list = Array<A>(1, { A() })
|
||||
|
||||
var i = 0;
|
||||
var s = ""
|
||||
for ((a, b) in list) {
|
||||
i = a;
|
||||
s = b;
|
||||
}
|
||||
|
||||
if (i != 1) return "i != 1, it: " + i
|
||||
if (s != "n") return "s != 'n', it: " + s
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package foo
|
||||
|
||||
import java.util.HashMap
|
||||
|
||||
|
||||
operator fun <K, V> Map<K, V>.iterator(): Iterator<Map.Entry<K, V>> {
|
||||
val entrySet = this.entries
|
||||
return entrySet.iterator()
|
||||
}
|
||||
|
||||
/** Returns the key of the entry */
|
||||
operator fun <K, V> Map.Entry<K, V>.component1(): K {
|
||||
return key
|
||||
}
|
||||
|
||||
/** Returns the value of the entry */
|
||||
operator fun <K, V> Map.Entry<K, V>.component2(): V {
|
||||
return value
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val map = HashMap<Int, String>()
|
||||
map.put(1, "s1")
|
||||
map.put(2, "s2")
|
||||
|
||||
var s1 = ""
|
||||
var s2 = ""
|
||||
for ((k, v) in map) {
|
||||
when (k) {
|
||||
2 -> s2 = v
|
||||
1 -> s1 = v
|
||||
else -> {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (s1 != "s1") return "s1 != 's1', it: ${s1}"
|
||||
if (s2 != "s2") return "s2 != 's2', it: ${s2}"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package foo
|
||||
|
||||
class C(val i: Int) : Comparable<C>, A() {
|
||||
public override fun compareTo(other: C): Int {
|
||||
return if (other is C) other.i - i else 0
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
operator fun ClosedRange<C>.iterator(): Iterator<C> {
|
||||
var curI: Int = start.i - 1
|
||||
|
||||
return object : Iterator<C> {
|
||||
public override fun next(): C {
|
||||
curI++
|
||||
return C(curI)
|
||||
}
|
||||
public override fun hasNext(): Boolean {
|
||||
return curI <= endInclusive.i
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
open class A {
|
||||
operator fun component1(): Int = 1
|
||||
}
|
||||
operator fun A.component2(): String = "n"
|
||||
|
||||
fun box(): String {
|
||||
var i = 0;
|
||||
var s = ""
|
||||
for ((a, b) in C(0)..C(2)) {
|
||||
i = a;
|
||||
s = b;
|
||||
}
|
||||
|
||||
if (i != 1) return "i != 1, it: " + i
|
||||
if (s != "n") return "s != 'n', it: " + s
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package foo
|
||||
|
||||
import java.util.ArrayList
|
||||
|
||||
class A {
|
||||
operator fun component1(): Int = 1
|
||||
}
|
||||
operator fun A.component2(): String = "n"
|
||||
|
||||
fun box(): String {
|
||||
val list = ArrayList<A>()
|
||||
list.add(A())
|
||||
|
||||
var i = 0;
|
||||
var s = ""
|
||||
for ((a, b) in list) {
|
||||
i = a;
|
||||
s = b;
|
||||
}
|
||||
|
||||
if (i != 1) return "i != 1, it: " + i
|
||||
if (s != "n") return "s != 'n', it: " + s
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package foo
|
||||
|
||||
operator fun Int.component1(): Int {
|
||||
return this + 10;
|
||||
}
|
||||
|
||||
operator fun Int.component2(): String = "b"
|
||||
|
||||
fun box(): String {
|
||||
var i = 0;
|
||||
var s = "";
|
||||
for ((a, b) in 1..4) {
|
||||
i = a
|
||||
s = b
|
||||
}
|
||||
|
||||
if (i != 14) return "i != 14, it: $i"
|
||||
if (s != "b") return "s != 'b', it: $s"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package foo
|
||||
|
||||
operator fun Int.component1(): Int {
|
||||
return this + 10;
|
||||
}
|
||||
|
||||
operator fun Int.component2(): String = "b"
|
||||
|
||||
fun box(): String {
|
||||
var i = 0;
|
||||
var s = "";
|
||||
val range = 1..4
|
||||
for ((a, b) in range) {
|
||||
i = a
|
||||
s = b
|
||||
}
|
||||
|
||||
if (i != 14) return "i != 14, it: $i"
|
||||
if (s != "b") return "s != 'b', it: $s"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package foo
|
||||
|
||||
class A {
|
||||
operator fun component1(): Int = 1
|
||||
}
|
||||
operator fun A.component2(): String = "n"
|
||||
|
||||
class B {
|
||||
operator fun component1(): Int = 1
|
||||
operator fun component2(): Int = 2
|
||||
operator fun component3(): Int = 3
|
||||
}
|
||||
|
||||
class C {
|
||||
operator fun component1(): Int = 42
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val (a, b) = A()
|
||||
if (a != 1) return "a != 1, it: $a"
|
||||
if (b != "n") return "b != 'n', it: $b"
|
||||
|
||||
var (x, y) = A()
|
||||
if (x != 1) return "x != 1, it: $x"
|
||||
if (y != "n") return "y != 'n', it: $y"
|
||||
|
||||
x = 3
|
||||
if (x != 3) return "x != 3, it: $x"
|
||||
y = "m"
|
||||
if (y != "m") return "y != 'm', it: $y"
|
||||
|
||||
var (b1, b2, b3) = B()
|
||||
if (b1 != 1) return "b1 != 1, it: $b1"
|
||||
if (b2 != 2) return "b2 != 2, it: $b2"
|
||||
if (b3 != 3) return "b3 != 3, it: $b3"
|
||||
|
||||
val (c) = C()
|
||||
if (c != 42) return "c != 42, it: $c"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user