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:
+22
@@ -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"
|
||||
}
|
||||
+24
@@ -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"
|
||||
}
|
||||
+18
@@ -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"
|
||||
}
|
||||
backend.native/tests/external/codegen/blackbox/builtinStubMethods/extendJavaCollections/arrayList.kt
Vendored
+22
@@ -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"
|
||||
}
|
||||
Vendored
+18
@@ -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"
|
||||
}
|
||||
Vendored
+18
@@ -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"
|
||||
}
|
||||
Vendored
+30
@@ -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"
|
||||
}
|
||||
Reference in New Issue
Block a user