[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:
@@ -1,25 +0,0 @@
|
|||||||
// TARGET_BACKEND: JS_IR
|
|
||||||
// CALL_MAIN
|
|
||||||
|
|
||||||
external fun create(
|
|
||||||
p0: String = definedExternally,
|
|
||||||
p1: String = definedExternally,
|
|
||||||
p2: String = definedExternally,
|
|
||||||
p3: String = definedExternally,
|
|
||||||
p4: String = definedExternally,
|
|
||||||
) : Array<String>
|
|
||||||
|
|
||||||
fun main() {
|
|
||||||
js("global.create = function() {return arguments}")
|
|
||||||
}
|
|
||||||
|
|
||||||
fun box(): String {
|
|
||||||
val zeroArgs = create()
|
|
||||||
if (zeroArgs.size != 0) return "fail: $zeroArgs arguments instead 0"
|
|
||||||
|
|
||||||
val p2 = "p2"
|
|
||||||
val threeArgs = create(p2 = p2)
|
|
||||||
if (threeArgs.size != 3 || threeArgs[2] != p2) return "fail: $threeArgs arguments instead 3"
|
|
||||||
|
|
||||||
return "OK"
|
|
||||||
}
|
|
||||||
+10
@@ -1025,6 +1025,16 @@ public class IrBoxJsES6TestGenerated extends AbstractIrBoxJsES6Test {
|
|||||||
runTest("js/js.translator/testData/box/defaultArguments/extensionFunWithDefArgs.kt");
|
runTest("js/js.translator/testData/box/defaultArguments/extensionFunWithDefArgs.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("externalTailArgsClass.kt")
|
||||||
|
public void testExternalTailArgsClass() throws Exception {
|
||||||
|
runTest("js/js.translator/testData/box/defaultArguments/externalTailArgsClass.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("externalTailArgsFun.kt")
|
||||||
|
public void testExternalTailArgsFun() throws Exception {
|
||||||
|
runTest("js/js.translator/testData/box/defaultArguments/externalTailArgsFun.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("funInAbstractClassWithDefArg.kt")
|
@TestMetadata("funInAbstractClassWithDefArg.kt")
|
||||||
public void testFunInAbstractClassWithDefArg() throws Exception {
|
public void testFunInAbstractClassWithDefArg() throws Exception {
|
||||||
runTest("js/js.translator/testData/box/defaultArguments/funInAbstractClassWithDefArg.kt");
|
runTest("js/js.translator/testData/box/defaultArguments/funInAbstractClassWithDefArg.kt");
|
||||||
|
|||||||
Generated
-5
@@ -10077,11 +10077,6 @@ public class IrJsCodegenBoxES6TestGenerated extends AbstractIrJsCodegenBoxES6Tes
|
|||||||
public void testAllFilesPresentInExternal() throws Exception {
|
public void testAllFilesPresentInExternal() throws Exception {
|
||||||
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/external"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR_ES6, true);
|
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/external"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR_ES6, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@TestMetadata("jsWithDefaultArg.kt")
|
|
||||||
public void testJsWithDefaultArg() throws Exception {
|
|
||||||
runTest("compiler/testData/codegen/box/external/jsWithDefaultArg.kt");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@TestMetadata("compiler/testData/codegen/box/fakeOverride")
|
@TestMetadata("compiler/testData/codegen/box/fakeOverride")
|
||||||
|
|||||||
+10
@@ -1025,6 +1025,16 @@ public class IrBoxJsTestGenerated extends AbstractIrBoxJsTest {
|
|||||||
runTest("js/js.translator/testData/box/defaultArguments/extensionFunWithDefArgs.kt");
|
runTest("js/js.translator/testData/box/defaultArguments/extensionFunWithDefArgs.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("externalTailArgsClass.kt")
|
||||||
|
public void testExternalTailArgsClass() throws Exception {
|
||||||
|
runTest("js/js.translator/testData/box/defaultArguments/externalTailArgsClass.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("externalTailArgsFun.kt")
|
||||||
|
public void testExternalTailArgsFun() throws Exception {
|
||||||
|
runTest("js/js.translator/testData/box/defaultArguments/externalTailArgsFun.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("funInAbstractClassWithDefArg.kt")
|
@TestMetadata("funInAbstractClassWithDefArg.kt")
|
||||||
public void testFunInAbstractClassWithDefArg() throws Exception {
|
public void testFunInAbstractClassWithDefArg() throws Exception {
|
||||||
runTest("js/js.translator/testData/box/defaultArguments/funInAbstractClassWithDefArg.kt");
|
runTest("js/js.translator/testData/box/defaultArguments/funInAbstractClassWithDefArg.kt");
|
||||||
|
|||||||
Generated
-5
@@ -10077,11 +10077,6 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
|
|||||||
public void testAllFilesPresentInExternal() throws Exception {
|
public void testAllFilesPresentInExternal() throws Exception {
|
||||||
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/external"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
|
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/external"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@TestMetadata("jsWithDefaultArg.kt")
|
|
||||||
public void testJsWithDefaultArg() throws Exception {
|
|
||||||
runTest("compiler/testData/codegen/box/external/jsWithDefaultArg.kt");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@TestMetadata("compiler/testData/codegen/box/fakeOverride")
|
@TestMetadata("compiler/testData/codegen/box/fakeOverride")
|
||||||
|
|||||||
+10
@@ -1025,6 +1025,16 @@ public class BoxJsTestGenerated extends AbstractBoxJsTest {
|
|||||||
runTest("js/js.translator/testData/box/defaultArguments/extensionFunWithDefArgs.kt");
|
runTest("js/js.translator/testData/box/defaultArguments/extensionFunWithDefArgs.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("externalTailArgsClass.kt")
|
||||||
|
public void testExternalTailArgsClass() throws Exception {
|
||||||
|
runTest("js/js.translator/testData/box/defaultArguments/externalTailArgsClass.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("externalTailArgsFun.kt")
|
||||||
|
public void testExternalTailArgsFun() throws Exception {
|
||||||
|
runTest("js/js.translator/testData/box/defaultArguments/externalTailArgsFun.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("funInAbstractClassWithDefArg.kt")
|
@TestMetadata("funInAbstractClassWithDefArg.kt")
|
||||||
public void testFunInAbstractClassWithDefArg() throws Exception {
|
public void testFunInAbstractClassWithDefArg() throws Exception {
|
||||||
runTest("js/js.translator/testData/box/defaultArguments/funInAbstractClassWithDefArg.kt");
|
runTest("js/js.translator/testData/box/defaultArguments/funInAbstractClassWithDefArg.kt");
|
||||||
|
|||||||
@@ -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
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user