mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-10 08:31:29 +00:00
42 lines
1.3 KiB
Kotlin
Vendored
42 lines
1.3 KiB
Kotlin
Vendored
// IGNORE_BACKEND_FIR: JVM_IR
|
|
// WITH_RUNTIME
|
|
|
|
import kotlin.test.assertEquals
|
|
|
|
fun test1(s1: String, s2: String, s3: String) =
|
|
(s1 + s2) + s3
|
|
|
|
fun test2(s1: String, s2: String, s3: String) =
|
|
s1 + (s2 + s3)
|
|
|
|
fun test3(s1: String, s2: String, s3: String, s4: String) =
|
|
((s1 + s2) + ((s3 + s4)))
|
|
|
|
fun test4(s1: String, s2: String, s3: String) =
|
|
"s1: $s1; " +
|
|
"s2: $s2; " +
|
|
"s3: $s3"
|
|
|
|
fun test5(s1: String, s2: String, s3: String) =
|
|
"${"s1:" + "${" " + s1};"} " +
|
|
"${"s2:" + "${" " + s2};"} " +
|
|
"${"s3:" + "${" " + s3}"}"
|
|
|
|
fun test6(s1: String, s2: String, s3: String) =
|
|
"${"s1:" + "${" " + s1};"} ${"s2:" + "${" " + s2};"} ${"s3:" + "${" " + s3}"}"
|
|
|
|
fun test7(s1: String, s2: String, s3: String): String {
|
|
fun foo(s: String) = s
|
|
return "foo: " + foo(s1 + s2 + " ${foo("\${s3.length} = ${s3.length}")}")
|
|
}
|
|
|
|
fun box(): String {
|
|
assertEquals("123", test1("1", "2", "3"))
|
|
assertEquals("123", test2("1", "2", "3"))
|
|
assertEquals("1234", test3("1", "2", "3", "4"))
|
|
assertEquals("s1: 1; s2: 2; s3: 3", test4("1", "2", "3"))
|
|
assertEquals("s1: 1; s2: 2; s3: 3", test5("1", "2", "3"))
|
|
assertEquals("s1: 1; s2: 2; s3: 3", test6("1", "2", "3"))
|
|
assertEquals("foo: 12 \${s3.length} = 1", test7("1", "2", "3"))
|
|
return "OK"
|
|
} |