diff --git a/js/js.translator/testData/maps.js b/js/js.translator/testData/maps.js index 3d7ea3f1d05..75f781fc31b 100644 --- a/js/js.translator/testData/maps.js +++ b/js/js.translator/testData/maps.js @@ -593,7 +593,10 @@ Kotlin.PrimitiveHashSet = Kotlin.createClassNow(Kotlin.AbstractCollection, }, /** @lends {Kotlin.PrimitiveHashSet.prototype} */ { - contains_s9cetl$: function (key) { + size: function () { + return this.$size; + }, + contains_za3rmp$: function (key) { return this.map[key] === true; }, iterator: function () { diff --git a/libraries/stdlib/test/js/SetJsTest.kt b/libraries/stdlib/test/js/SetJsTest.kt index bf156cb8abb..bb6b366e5d8 100644 --- a/libraries/stdlib/test/js/SetJsTest.kt +++ b/libraries/stdlib/test/js/SetJsTest.kt @@ -1,12 +1,21 @@ package test.collections import kotlin.test.* -import java.util.* import org.junit.Test +import java.util.HashSet -class SetJsTest { +class ComplexSetJsTest : SetJsTest() { + // hashSetOf returns ComlpexHashSet because it is Generic + override fun createEmptyMutableSet(): MutableSet = hashSetOf() +} + +class PrimitiveSetJsTest : SetJsTest() { + override fun createEmptyMutableSet(): MutableSet = HashSet() +} + +abstract class SetJsTest { val data: Set = createTestMutableSet() - val empty: Set = hashSetOf() + val empty: Set = createEmptyMutableSet() Test fun size() { assertEquals(2, data.size()) @@ -109,5 +118,12 @@ class SetJsTest { } //Helpers - fun createTestMutableSet(): MutableSet = hashSetOf("foo", "bar") + abstract fun createEmptyMutableSet(): MutableSet + + fun createTestMutableSet(): MutableSet { + val set = createEmptyMutableSet() + set.add("foo") + set.add("bar") + return set + } }