[JS IR] Test with js specific moved to js.translator

- Move js function from `main` to separate js file

^KT-40090 fixed
This commit is contained in:
Ilya Goncharov
2020-11-20 15:31:31 +03:00
parent fe3030c432
commit 64895fe7da
8 changed files with 82 additions and 35 deletions
@@ -0,0 +1,28 @@
// FILE: main.kt
external class TailArgs(
p0: String = definedExternally,
p1: String = definedExternally,
p2: String = definedExternally,
p3: String = definedExternally,
p4: String = definedExternally,
)
external val ctorArgs: Array<String>
fun box(): String {
val p2 = "p2"
TailArgs()
if (ctorArgs.size != 0) return "fail2: $ctorArgs arguments instead 0"
TailArgs(p2 = p2)
if (ctorArgs.size != 3 || ctorArgs[2] != p2) return "fail3: $ctorArgs arguments instead 3"
return "OK"
}
// FILE: main.js
var ctorArgs;
function TailArgs() {
ctorArgs = arguments
}
@@ -0,0 +1,24 @@
// FILE: main.kt
external fun create(
p0: String = definedExternally,
p1: String = definedExternally,
p2: String = definedExternally,
p3: String = definedExternally,
p4: String = definedExternally,
) : Array<String>
fun box(): String {
val zeroArgsFun = create()
if (zeroArgsFun.size != 0) return "fail: $zeroArgsFun arguments instead 0"
val p2 = "p2"
val threeArgsFun = create(p2 = p2)
if (threeArgsFun.size != 3 || threeArgsFun[2] != p2) return "fail1: $threeArgsFun arguments instead 3"
return "OK"
}
// FILE: main.js
function create() {
return arguments
}