JS: fix char to string convertion in string templates (#KT-17966 fixed)

This commit is contained in:
Anton Bannykh
2017-05-21 14:13:44 +03:00
parent 6a8bb8b33d
commit 419f12f1b7
3 changed files with 45 additions and 11 deletions
@@ -0,0 +1,24 @@
package foo
var log = ""
fun sideEffects(c: Char?, msg: String): Char? {
log += msg
return c
}
fun box(): String {
val name = run { "John" } // Force compiler to actually do some concatenation
assertEquals("${'$'}name = $name", "\$name = John")
val ch1: Char? = null
assertEquals("${ch1}name = $name", "nullname = John")
val ch2: Char? = '$'
assertEquals("${ch2}name = $name", "\$name = John")
assertEquals("${sideEffects('$', "1")!!}${sideEffects('n', "2")}ame = $name", "\$name = John")
assertEquals(log, "12")
return "OK"
}