diff --git a/libraries/stdlib/test/js/MapJsTest.kt b/libraries/stdlib/test/js/MapJsTest.kt index 2d45023e3e9..12580568cc0 100644 --- a/libraries/stdlib/test/js/MapJsTest.kt +++ b/libraries/stdlib/test/js/MapJsTest.kt @@ -5,8 +5,16 @@ import kotlin.test.* import java.util.* import org.junit.Test as test -// TODO: Write test generator for testing `Map` implementations. -class MapJsTest { +class ComplexMapJsTest : MapJsTest() { + // hashMapOf returns ComlpexHashMap because it is Generic + override fun emptyMutableMap(): MutableMap = hashMapOf() +} + +class PrimitiveMapJsTest : MapJsTest() { + override fun emptyMutableMap(): MutableMap = HashMap() +} + +abstract class MapJsTest { //TODO: replace `array(...).toList()` to `listOf(...)` val KEYS = array("zero", "one", "two", "three").toList() val VALUES = array(0, 1, 2, 3).toList() @@ -305,13 +313,12 @@ class MapJsTest { // Helpers fun emptyMap(): Map = HashMap() - fun emptyMutableMap(): MutableMap = HashMap() + abstract fun emptyMutableMap(): MutableMap - fun createTestMap(): Map = createTestHashMap() - fun createTestMutableMap(): MutableMap = createTestHashMap() + fun createTestMap(): Map = createTestMutableMap() - fun createTestHashMap(): HashMap { - val map = HashMap() + fun createTestMutableMap(): MutableMap { + val map = emptyMutableMap() for (i in KEYS.indices) { map.put(KEYS[i], VALUES[i]) }