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();