joinTo/joinToString: Do not call toString on elements that are already CharSequence or Char.

#KT-15557
This commit is contained in:
Ilya Gorbunov
2017-01-12 00:55:17 +03:00
parent 0c27e07e8c
commit 80f2efb625
13 changed files with 44 additions and 48 deletions
@@ -259,6 +259,22 @@ class ArraysTest {
}
@Test fun joinToString() {
val text = arrayOf("foo", "bar").joinToString("-", "<", ">")
assertEquals("<foo-bar>", text)
val text2 = arrayOf('a', "b", StringBuilder("c"), null, "d", 'e', 'f').joinToString(limit = 4, truncated = "*")
assertEquals("a, b, c, null, *", text2)
val text3 = intArrayOf(1, 2, 5, 8).joinToString("+", "[", "]")
assertEquals("[1+2+5+8]", text3)
val text4 = charArrayOf('f', 'o', 'o').joinToString()
assertEquals("f, o, o", text4)
}
@Test fun min() {
expect(null, { arrayOf<Int>().min() })
expect(1, { arrayOf(1).min() })
@@ -42,9 +42,9 @@ class CollectionTest {
val text = data.joinToString("-", "<", ">")
assertEquals("<foo-bar>", text)
val big = listOf("a", "b", "c", "d", "e", "f")
val text2 = big.joinToString(limit = 3, truncated = "*")
assertEquals("a, b, c, *", text2)
val mixed = listOf('a', "b", StringBuilder("c"), null, "d", 'e', 'f')
val text2 = mixed.joinToString(limit = 4, truncated = "*")
assertEquals("a, b, c, null, *", text2)
}
@Test fun filterNotNull() {