From 25f6a4aa0acc60b7ec4277c1d3aff281343b9b73 Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Tue, 3 Mar 2015 17:54:19 +0300 Subject: [PATCH] JS: added spread operator inline test case --- .../testData/inline/cases/vararg.kt | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/js/js.translator/testData/inline/cases/vararg.kt b/js/js.translator/testData/inline/cases/vararg.kt index 5def6aad0cd..37c06b89509 100644 --- a/js/js.translator/testData/inline/cases/vararg.kt +++ b/js/js.translator/testData/inline/cases/vararg.kt @@ -3,28 +3,34 @@ package foo // CHECK_CONTAINS_NO_CALLS: test1 // CHECK_CONTAINS_NO_CALLS: test2 +// CHECK_CONTAINS_NO_CALLS: test3 -inline fun sum(vararg nums: Int): Int { - var result = 0 +inline fun concat(vararg strings: String): String { + var result = "" - for (num in nums) { - result += num + for (string in strings) { + result += string } return result } -fun test1(): Int { - return sum() +fun test1(): String { + return concat() } -fun test2(): Int { - return sum(1,2,3) +fun test2(): String { + return concat("a", "b", "c") +} + +fun test3(list: Array): String { + return concat(*list) } fun box(): String { - assertEquals(0, test1()) - assertEquals(6, test2()) + assertEquals("", test1()) + assertEquals("abc", test2()) + assertEquals("abcd", test3(array("a", "b", "c", "d"))) return "OK" } \ No newline at end of file