From a067888fedae72c14a0e2ec524e47be391a1e76b Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Thu, 3 Nov 2016 23:47:47 +0300 Subject: [PATCH] Provide no-op members in JS ArrayList to work with capacity. #KT-14637 --- js/js.libraries/src/core/collections/ArrayList.kt | 4 ++++ libraries/stdlib/test/js/JsCollectionsTest.kt | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/js/js.libraries/src/core/collections/ArrayList.kt b/js/js.libraries/src/core/collections/ArrayList.kt index ea36b6ec489..c46864f5927 100644 --- a/js/js.libraries/src/core/collections/ArrayList.kt +++ b/js/js.libraries/src/core/collections/ArrayList.kt @@ -21,6 +21,10 @@ public open class ArrayList internal constructor(private var array: Array) : this(elements.toTypedArray()) {} + /** Does nothing in this ArrayList implementation. */ + public fun trimToSize() {} + /** Does nothing in this ArrayList implementation. */ + public fun ensureCapacity(minCapacity: Int) {} override val size: Int get() = array.size override fun get(index: Int): E = array[rangeCheck(index)] as E diff --git a/libraries/stdlib/test/js/JsCollectionsTest.kt b/libraries/stdlib/test/js/JsCollectionsTest.kt index fdf935b8009..47202349807 100644 --- a/libraries/stdlib/test/js/JsCollectionsTest.kt +++ b/libraries/stdlib/test/js/JsCollectionsTest.kt @@ -37,6 +37,13 @@ class JsCollectionsTest { snapshotDoesNotCreateView(arrayOf("first", "last"), { arrayListOf(*it) }) } + @test fun arrayListCapacity() { + val list = ArrayList(20) + list.ensureCapacity(100) + list.trimToSize() + assertTrue(list.isEmpty()) + } + @test fun listEqualsOperatesOnAny() { assertFalse(listOf(1, 2, 3).equals(object {})) }