Files
kotlin-fork/js/js.translator/testData/box/esModules/jsModule/externalPackageInDifferentFile.kt
T
2021-10-12 23:29:39 +03:00

47 lines
827 B
Kotlin
Vendored

// DONT_TARGET_EXACT_BACKEND: JS
// ES_MODULES
// FILE: lib.kt
@file:JsModule("./externalPackageInDifferentFile.mjs")
package foo
external class A(x: Int = definedExternally) {
val x: Int
fun foo(y: Int): Int = definedExternally
}
external object B {
val x: Int = definedExternally
fun foo(y: Int): Int = definedExternally
}
external fun foo(y: Int): Int = definedExternally
external val bar: Int = definedExternally
// FILE: lib2.kt
package foo
external object C {
fun f(): Int = definedExternally
}
// FILE: main.kt
package foo
fun box(): String {
val a = A(23)
assertEquals(23, a.x)
assertEquals(65, a.foo(42))
assertEquals(123, B.x)
assertEquals(265, B.foo(142))
assertEquals(365, foo(42))
assertEquals(423, bar)
assertEquals(12345, C.f())
return "OK"
}