JS: fix char to string convertion in string templates (#KT-17966 fixed)
This commit is contained in:
@@ -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"
|
||||
}
|
||||
Reference in New Issue
Block a user