From 56ecbe52b249941ce2ca3c9670f2fb5fd9e29669 Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Thu, 6 Oct 2016 03:24:28 +0300 Subject: [PATCH] Add a test verifying #KT-14194 Fixed --- libraries/stdlib/test/js/MapJsTest.kt | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/libraries/stdlib/test/js/MapJsTest.kt b/libraries/stdlib/test/js/MapJsTest.kt index b96d2036239..3259afadf51 100644 --- a/libraries/stdlib/test/js/MapJsTest.kt +++ b/libraries/stdlib/test/js/MapJsTest.kt @@ -224,6 +224,12 @@ abstract class MapJsTest { assertEquals(KEYS.size, newMap.size) } + @test fun mapPutAllFromCustomMap() { + val newMap = emptyMutableMap() + newMap.putAll(ConstMap) + assertEquals(ConstMap.entries.single().toPair(), newMap.entries.single().toPair()) + } + @test fun mapRemove() { val map = createTestMutableMap() val last = KEYS.size - 1 @@ -541,6 +547,21 @@ abstract class MapJsTest { } */ + private object ConstMap : Map { + override val entries: Set> + get() = setOf(object : Map.Entry { + override val key: String get() = "key" + override val value: Int get() = 42 + }) + override val keys: Set get() = setOf("key") + override val size: Int get() = 1 + override val values = listOf(42) + override fun containsKey(key: String) = key == "key" + override fun containsValue(value: Int) = value == 42 + override fun get(key: String) = if (key == "key") 42 else null + override fun isEmpty() = false + } + // Helpers abstract fun > Collection.toNormalizedList(): List