diff --git a/compiler/testData/integration/ant/js/simpleWithStdlibAndJsFilesWithTwoModulesAsLibrary/build.log.expected b/compiler/testData/integration/ant/js/simpleWithStdlibAndJsFilesWithTwoModulesAsLibrary/build.log.expected new file mode 100644 index 00000000000..b67fc554192 --- /dev/null +++ b/compiler/testData/integration/ant/js/simpleWithStdlibAndJsFilesWithTwoModulesAsLibrary/build.log.expected @@ -0,0 +1,18 @@ +OUT: +Buildfile: [TestData]/build.xml + +build: + [mkdir] Created dir: [Temp]/lib +[kotlin2js] Compiling [[TestData]/jslib-example1] => [[Temp]/lib/jslib-example1.js] +[kotlin2js] Compiling [[TestData]/jslib-example2] => [[Temp]/lib/jslib-example2.js] + [delete] Deleting: [Temp]/lib/jslib-example1.js + [delete] Deleting: [Temp]/lib/jslib-example2.js + [delete] Deleting: [Temp]/lib/jslib-example1.meta.js + [delete] Deleting: [Temp]/lib/jslib-example2.meta.js +[kotlin2js] Compiling [[TestData]/root1] => [[Temp]/out.js] + [copy] Copying 1 file to [Temp] + +BUILD SUCCESSFUL +Total time: [time] + +Return code: 0 diff --git a/compiler/testData/integration/ant/js/simpleWithStdlibAndJsFilesWithTwoModulesAsLibrary/build.xml b/compiler/testData/integration/ant/js/simpleWithStdlibAndJsFilesWithTwoModulesAsLibrary/build.xml new file mode 100644 index 00000000000..dd3671f4f93 --- /dev/null +++ b/compiler/testData/integration/ant/js/simpleWithStdlibAndJsFilesWithTwoModulesAsLibrary/build.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/compiler/testData/integration/ant/js/simpleWithStdlibAndJsFilesWithTwoModulesAsLibrary/jslib-example1/LibraryExample.kt b/compiler/testData/integration/ant/js/simpleWithStdlibAndJsFilesWithTwoModulesAsLibrary/jslib-example1/LibraryExample.kt new file mode 100644 index 00000000000..16ecae42d13 --- /dev/null +++ b/compiler/testData/integration/ant/js/simpleWithStdlibAndJsFilesWithTwoModulesAsLibrary/jslib-example1/LibraryExample.kt @@ -0,0 +1,9 @@ +package library.sample + +import kotlin.js.Date + +public class ClassA() { + val value: Int = 100 +} + +public fun Date.extFun(): String = "Date.extFun" \ No newline at end of file diff --git a/compiler/testData/integration/ant/js/simpleWithStdlibAndJsFilesWithTwoModulesAsLibrary/jslib-example2/LibraryExample.kt b/compiler/testData/integration/ant/js/simpleWithStdlibAndJsFilesWithTwoModulesAsLibrary/jslib-example2/LibraryExample.kt new file mode 100644 index 00000000000..540ae2c6468 --- /dev/null +++ b/compiler/testData/integration/ant/js/simpleWithStdlibAndJsFilesWithTwoModulesAsLibrary/jslib-example2/LibraryExample.kt @@ -0,0 +1,3 @@ +package library.sample + +public fun ClassA.extFun(): String = "ClassA.extFun" \ No newline at end of file diff --git a/compiler/testData/integration/ant/js/simpleWithStdlibAndJsFilesWithTwoModulesAsLibrary/root1/foo.kt b/compiler/testData/integration/ant/js/simpleWithStdlibAndJsFilesWithTwoModulesAsLibrary/root1/foo.kt new file mode 100644 index 00000000000..043ee06b6c7 --- /dev/null +++ b/compiler/testData/integration/ant/js/simpleWithStdlibAndJsFilesWithTwoModulesAsLibrary/root1/foo.kt @@ -0,0 +1,15 @@ +package foo + +import library.sample.* +import kotlin.js.Date + +var ok = "FAIL" + +fun main(args: Array) { + val x = ClassA().value + if (x == 100 && Date().extFun() == "Date.extFun" && ClassA().extFun() == "ClassA.extFun") { + ok = "OK" + } +} + +fun box(): String = ok diff --git a/compiler/testData/integration/ant/js/simpleWithStdlibAndTwoJsFilesAsLibraries/build.log.expected b/compiler/testData/integration/ant/js/simpleWithStdlibAndTwoJsFilesAsLibraries/build.log.expected new file mode 100644 index 00000000000..aff5c825abe --- /dev/null +++ b/compiler/testData/integration/ant/js/simpleWithStdlibAndTwoJsFilesAsLibraries/build.log.expected @@ -0,0 +1,14 @@ +OUT: +Buildfile: [TestData]/build.xml + +build: + [mkdir] Created dir: [Temp]/lib +[kotlin2js] Compiling [[TestData]/jslib-example1] => [[Temp]/lib/jslib-example1.js] +[kotlin2js] Compiling [[TestData]/jslib-example2] => [[Temp]/lib/jslib-example2.js] +[kotlin2js] Compiling [[TestData]/root1] => [[Temp]/out.js] + [copy] Copying 4 files to [Temp] + +BUILD SUCCESSFUL +Total time: [time] + +Return code: 0 diff --git a/compiler/testData/integration/ant/js/simpleWithStdlibAndTwoJsFilesAsLibraries/build.xml b/compiler/testData/integration/ant/js/simpleWithStdlibAndTwoJsFilesAsLibraries/build.xml new file mode 100644 index 00000000000..1f0cb9d5176 --- /dev/null +++ b/compiler/testData/integration/ant/js/simpleWithStdlibAndTwoJsFilesAsLibraries/build.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/compiler/testData/integration/ant/js/simpleWithStdlibAndTwoJsFilesAsLibraries/jslib-example1/LibraryExample.kt b/compiler/testData/integration/ant/js/simpleWithStdlibAndTwoJsFilesAsLibraries/jslib-example1/LibraryExample.kt new file mode 100644 index 00000000000..16ecae42d13 --- /dev/null +++ b/compiler/testData/integration/ant/js/simpleWithStdlibAndTwoJsFilesAsLibraries/jslib-example1/LibraryExample.kt @@ -0,0 +1,9 @@ +package library.sample + +import kotlin.js.Date + +public class ClassA() { + val value: Int = 100 +} + +public fun Date.extFun(): String = "Date.extFun" \ No newline at end of file diff --git a/compiler/testData/integration/ant/js/simpleWithStdlibAndTwoJsFilesAsLibraries/jslib-example2/LibraryExample.kt b/compiler/testData/integration/ant/js/simpleWithStdlibAndTwoJsFilesAsLibraries/jslib-example2/LibraryExample.kt new file mode 100644 index 00000000000..540ae2c6468 --- /dev/null +++ b/compiler/testData/integration/ant/js/simpleWithStdlibAndTwoJsFilesAsLibraries/jslib-example2/LibraryExample.kt @@ -0,0 +1,3 @@ +package library.sample + +public fun ClassA.extFun(): String = "ClassA.extFun" \ No newline at end of file diff --git a/compiler/testData/integration/ant/js/simpleWithStdlibAndTwoJsFilesAsLibraries/root1/foo.kt b/compiler/testData/integration/ant/js/simpleWithStdlibAndTwoJsFilesAsLibraries/root1/foo.kt new file mode 100644 index 00000000000..043ee06b6c7 --- /dev/null +++ b/compiler/testData/integration/ant/js/simpleWithStdlibAndTwoJsFilesAsLibraries/root1/foo.kt @@ -0,0 +1,15 @@ +package foo + +import library.sample.* +import kotlin.js.Date + +var ok = "FAIL" + +fun main(args: Array) { + val x = ClassA().value + if (x == 100 && Date().extFun() == "Date.extFun" && ClassA().extFun() == "ClassA.extFun") { + ok = "OK" + } +} + +fun box(): String = ok diff --git a/compiler/tests/org/jetbrains/kotlin/integration/AntTaskJsTest.java b/compiler/tests/org/jetbrains/kotlin/integration/AntTaskJsTest.java index 30e51abf007..931687b0966 100644 --- a/compiler/tests/org/jetbrains/kotlin/integration/AntTaskJsTest.java +++ b/compiler/tests/org/jetbrains/kotlin/integration/AntTaskJsTest.java @@ -127,6 +127,16 @@ public class AntTaskJsTest extends AntTaskBaseTest { doJsAntTest("jslib-example.js"); } + @Test + public void simpleWithStdlibAndTwoJsFilesAsLibraries() throws Exception { + doJsAntTest("jslib-example1.js", "jslib-example2.js"); + } + + @Test + public void simpleWithStdlibAndJsFilesWithTwoModulesAsLibrary() throws Exception { + doJsAntTest("jslib-example.js"); + } + @Test public void simpleWithMainFQArgs() throws Exception { doJsAntTest();