diff --git a/js/js.libraries/src/core/javautilCode.kt b/js/js.libraries/src/core/javautilCode.kt index 92121fda205..d5f60308e1c 100644 --- a/js/js.libraries/src/core/javautilCode.kt +++ b/js/js.libraries/src/core/javautilCode.kt @@ -39,3 +39,11 @@ public fun LinkedHashMap(m: Map): LinkedHashMap { map.putAll(m) return map } + +public fun ArrayList(c: Collection): ArrayList { + val result = ArrayList() + for (element in c) { + result.add(element) + } + return result +} diff --git a/libraries/stdlib/test/js/JsArrayTest.kt b/libraries/stdlib/test/js/JsArrayTest.kt index 6c7cc52f04c..a45c7b9799c 100644 --- a/libraries/stdlib/test/js/JsArrayTest.kt +++ b/libraries/stdlib/test/js/JsArrayTest.kt @@ -2,6 +2,7 @@ package jstest import org.junit.Test as test import kotlin.test.* +import java.util.ArrayList; class JsArrayTest { @@ -19,4 +20,14 @@ class JsArrayTest { assertEquals("[foo, bar]", a3.toList().toString()) } + + test fun arrayListFromCollection() { + var c: Collection = array("A", "B", "C").toList() + var a = ArrayList(c) + + assertEquals(3, a.size) + assertEquals("A", a[0]) + assertEquals("B", a[1]) + assertEquals("C", a[2]) + } }