From 336ff43b2605960868ac546de27790915f56d05f Mon Sep 17 00:00:00 2001 From: Zalim Bashorov Date: Wed, 2 Apr 2014 17:29:24 +0400 Subject: [PATCH] JS backend: - test both versions of Set(Complex and Primitive) - added size in PrimitiveSet - fixed contains in PrimitiveSet #KT-4796 fixed --- js/js.translator/testData/maps.js | 5 ++++- libraries/stdlib/test/js/SetJsTest.kt | 24 ++++++++++++++++++++---- 2 files changed, 24 insertions(+), 5 deletions(-) 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 + } }