backend/tests: Add blackbox tests from Kotlin JVM

Added tests from testData/codegen/box directory. There are blackbox tests
in other directories and they are to be added.
This commit is contained in:
Ilya Matveev
2017-01-12 19:43:20 +07:00
parent d5988297b1
commit 1b553ebfaf
2643 changed files with 66666 additions and 0 deletions
@@ -0,0 +1,22 @@
// TARGET_BACKEND: JVM
import java.util.AbstractList
class A : AbstractList<String>() {
override fun get(index: Int): String = ""
override val size: Int get() = 0
}
fun box(): String {
val a = A()
val b = A()
a.addAll(b)
a.addAll(0, b)
a.removeAll(b)
a.retainAll(b)
a.clear()
a.remove("")
return "OK"
}
@@ -0,0 +1,24 @@
// TARGET_BACKEND: JVM
import java.util.AbstractMap
import java.util.Collections
class A : AbstractMap<Int, String>() {
override val entries: MutableSet<MutableMap.MutableEntry<Int, String>> get() = Collections.emptySet()
}
fun box(): String {
val a = A()
val b = A()
a.remove(0)
a.putAll(b)
a.clear()
a.keys
a.values
a.entries
return "OK"
}
@@ -0,0 +1,18 @@
class A : HashSet<Long>()
fun box(): String {
val a = A()
val b = A()
a.iterator()
a.add(0L)
a.remove(0L)
a.addAll(b)
a.removeAll(b)
a.retainAll(b)
a.clear()
return "OK"
}
@@ -0,0 +1,22 @@
// KT-6042 java.lang.UnsupportedOperationException with ArrayList
class A : ArrayList<String>()
fun box(): String {
val a = A()
val b = A()
a.addAll(b)
a.addAll(0, b)
a.removeAll(b)
a.retainAll(b)
a.clear()
a.add("")
a.set(0, "")
a.add(0, "")
a.removeAt(0)
a.remove("")
return "OK"
}
@@ -0,0 +1,18 @@
class A : HashMap<String, Double>()
fun box(): String {
val a = A()
val b = A()
a.put("", 0.0)
a.remove("")
a.putAll(b)
a.clear()
a.keys
a.values
a.entries
return "OK"
}
@@ -0,0 +1,18 @@
class A : HashSet<Long>()
fun box(): String {
val a = A()
val b = A()
a.iterator()
a.add(0L)
a.remove(0L)
a.addAll(b)
a.removeAll(b)
a.retainAll(b)
a.clear()
return "OK"
}
@@ -0,0 +1,30 @@
// TARGET_BACKEND: JVM
// FILE: Test.java
import java.lang.*;
import java.util.*;
public class Test {
public static class MapEntryImpl implements Map.Entry<String, String> {
public String getKey() { return null; }
public String getValue() { return null; }
public String setValue(String s) { return null; }
}
}
// FILE: main.kt
//class MyIterable : Test.IterableImpl()
//class MyIterator : Test.IteratorImpl()
class MyMapEntry : Test.MapEntryImpl()
fun box(): String {
val b = MyMapEntry()
b.key
b.value
b.setValue(null)
return "OK"
}