KT-12877: add tests for UMD modules
This commit is contained in:
committed by
Alexey Andreev
parent
31a1d6ca66
commit
495c876b3b
@@ -118,9 +118,12 @@ abstract class BasicBoxTest(
|
||||
}
|
||||
|
||||
val additionalFiles = mutableListOf<String>()
|
||||
if (modules.size > 1 || MODULE_KIND_PATTERN.matcher(expectedText).find()) {
|
||||
if ((modules.size > 1 || MODULE_KIND_PATTERN.matcher(expectedText).find()) &&
|
||||
!NO_MODULE_SYSTEM_PATTERN.matcher(expectedText).find()
|
||||
) {
|
||||
additionalFiles += MODULE_EMULATION_FILE
|
||||
}
|
||||
|
||||
val additionalJsFile = filePath.removeSuffix("." + KotlinFileType.EXTENSION) + JavaScript.DOT_EXTENSION
|
||||
if (File(additionalJsFile).exists()) {
|
||||
additionalFiles += additionalJsFile
|
||||
@@ -327,6 +330,7 @@ abstract class BasicBoxTest(
|
||||
val TEST_DATA_DIR_PATH = "js/js.translator/testData/"
|
||||
|
||||
private val MODULE_KIND_PATTERN = Pattern.compile("^// *MODULE_KIND: *(.+)$", Pattern.MULTILINE)
|
||||
private val NO_MODULE_SYSTEM_PATTERN = Pattern.compile("^// *NO_JS_MODULE_SYSTEM", Pattern.MULTILINE)
|
||||
private val NO_INLINE_PATTERN = Pattern.compile("^// *NO_INLINE *$", Pattern.MULTILINE)
|
||||
private val SKIP_NODE_JS = Pattern.compile("^// *SKIP_NODE_JS *$", Pattern.MULTILINE)
|
||||
}
|
||||
|
||||
@@ -5000,6 +5000,18 @@ public class BoxJsTestGenerated extends AbstractBoxJsTest {
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("externalFunctionUmd.kt")
|
||||
public void testExternalFunctionUmd() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/jsModule/externalFunctionUmd.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("externalFunctionUmdFallback.kt")
|
||||
public void testExternalFunctionUmdFallback() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/jsModule/externalFunctionUmdFallback.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("externalObject.kt")
|
||||
public void testExternalObject() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/jsModule/externalObject.kt");
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
define("lib-foo", [], function() {
|
||||
return function(y) {
|
||||
return 23 + y;
|
||||
};
|
||||
});
|
||||
@@ -0,0 +1,11 @@
|
||||
// MODULE_KIND: UMD
|
||||
package foo
|
||||
|
||||
@JsModule("lib-foo")
|
||||
@JsNonModule
|
||||
@native fun foo(x: Int): Int = noImpl
|
||||
|
||||
fun box(): String {
|
||||
assertEquals(65, foo(42))
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
function lib(y) {
|
||||
return 23 + y;
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
// MODULE_KIND: UMD
|
||||
// NO_JS_MODULE_SYSTEM
|
||||
package foo
|
||||
|
||||
@JsModule("lib")
|
||||
@JsNonModule
|
||||
@native fun foo(x: Int): Int = noImpl
|
||||
|
||||
fun box(): String {
|
||||
assertEquals(65, foo(42))
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user