KT-31126 JS. Fix super constructor call. Tests

Primary ordinary -> secondary external
This commit is contained in:
Victor Turansky
2020-04-06 13:44:05 +03:00
committed by Roman
parent 6859e87be1
commit be39151fad
4 changed files with 37 additions and 0 deletions
@@ -4956,6 +4956,11 @@ public class IrBoxJsTestGenerated extends AbstractIrBoxJsTest {
runTest("js/js.translator/testData/box/jsModule/externalClassWithDefaults.kt");
}
@TestMetadata("externalConstructor.kt")
public void testExternalConstructor() throws Exception {
runTest("js/js.translator/testData/box/jsModule/externalConstructor.kt");
}
@TestMetadata("externalFunction.kt")
public void testExternalFunction() throws Exception {
runTest("js/js.translator/testData/box/jsModule/externalFunction.kt");
@@ -4971,6 +4971,11 @@ public class BoxJsTestGenerated extends AbstractBoxJsTest {
runTest("js/js.translator/testData/box/jsModule/externalClassWithDefaults.kt");
}
@TestMetadata("externalConstructor.kt")
public void testExternalConstructor() throws Exception {
runTest("js/js.translator/testData/box/jsModule/externalConstructor.kt");
}
@TestMetadata("externalFunction.kt")
public void testExternalFunction() throws Exception {
runTest("js/js.translator/testData/box/jsModule/externalFunction.kt");
@@ -0,0 +1,5 @@
define('lib', [], function () {
return function (data) {
this.data = data
}
})
@@ -0,0 +1,22 @@
package foo
@JsModule("lib")
open external class A(data: String) {
constructor(data: Int)
constructor(data: Boolean)
val data: Any
}
class B(data: String) : A(data)
class C(data: Int) : A(data)
class D(data: Boolean) : A(data)
fun box(): String {
assertEquals("13", B("13").data)
assertEquals(42, C(42).data)
assertEquals(true, D(true).data)
return "OK"
}