KT-31126 JS. Fix super constructor call. Tests
Primary ordinary -> secondary external
This commit is contained in:
+5
@@ -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");
|
||||
|
||||
+5
@@ -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"
|
||||
}
|
||||
Reference in New Issue
Block a user