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>()
|
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
|
additionalFiles += MODULE_EMULATION_FILE
|
||||||
}
|
}
|
||||||
|
|
||||||
val additionalJsFile = filePath.removeSuffix("." + KotlinFileType.EXTENSION) + JavaScript.DOT_EXTENSION
|
val additionalJsFile = filePath.removeSuffix("." + KotlinFileType.EXTENSION) + JavaScript.DOT_EXTENSION
|
||||||
if (File(additionalJsFile).exists()) {
|
if (File(additionalJsFile).exists()) {
|
||||||
additionalFiles += additionalJsFile
|
additionalFiles += additionalJsFile
|
||||||
@@ -327,6 +330,7 @@ abstract class BasicBoxTest(
|
|||||||
val TEST_DATA_DIR_PATH = "js/js.translator/testData/"
|
val TEST_DATA_DIR_PATH = "js/js.translator/testData/"
|
||||||
|
|
||||||
private val MODULE_KIND_PATTERN = Pattern.compile("^// *MODULE_KIND: *(.+)$", Pattern.MULTILINE)
|
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 NO_INLINE_PATTERN = Pattern.compile("^// *NO_INLINE *$", Pattern.MULTILINE)
|
||||||
private val SKIP_NODE_JS = Pattern.compile("^// *SKIP_NODE_JS *$", 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);
|
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")
|
@TestMetadata("externalObject.kt")
|
||||||
public void testExternalObject() throws Exception {
|
public void testExternalObject() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/jsModule/externalObject.kt");
|
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