summaryrefslogtreecommitdiff
path: root/scalajslib/test/src/mill/scalajslib/ScalaJsUtils.scala
diff options
context:
space:
mode:
authorNikolay Tatarinov <5min4eq.unity@gmail.com>2018-02-26 08:35:41 +0300
committerGitHub <noreply@github.com>2018-02-26 08:35:41 +0300
commit30d753f43b28afe49cc803a3cc1d25956d6d7e52 (patch)
tree778484c7ef35e9bff87ae7975fce14a09c6f262e /scalajslib/test/src/mill/scalajslib/ScalaJsUtils.scala
parent0b2efbaf943501da2dac3741a9a8322597cc35e7 (diff)
downloadmill-30d753f43b28afe49cc803a3cc1d25956d6d7e52.tar.gz
mill-30d753f43b28afe49cc803a3cc1d25956d6d7e52.tar.bz2
mill-30d753f43b28afe49cc803a3cc1d25956d6d7e52.zip
make scala.js work with multi-module projects (#165)
Diffstat (limited to 'scalajslib/test/src/mill/scalajslib/ScalaJsUtils.scala')
-rw-r--r--scalajslib/test/src/mill/scalajslib/ScalaJsUtils.scala23
1 files changed, 23 insertions, 0 deletions
diff --git a/scalajslib/test/src/mill/scalajslib/ScalaJsUtils.scala b/scalajslib/test/src/mill/scalajslib/ScalaJsUtils.scala
new file mode 100644
index 00000000..859d2d56
--- /dev/null
+++ b/scalajslib/test/src/mill/scalajslib/ScalaJsUtils.scala
@@ -0,0 +1,23 @@
+package mill.scalajslib
+
+import java.io.{FileReader, StringWriter}
+import javax.script.{ScriptContext, ScriptEngineManager}
+
+import ammonite.ops.Path
+
+object ScalaJsUtils {
+ def runJS(path: Path): String = {
+ val engineManager = new ScriptEngineManager(null)
+ val engine = engineManager.getEngineByName("nashorn")
+ val console = new Console
+ val bindings = engine.getBindings(ScriptContext.ENGINE_SCOPE)
+ bindings.put("console", console)
+ engine.eval(new FileReader(path.toIO))
+ console.out.toString
+ }
+}
+
+class Console {
+ val out = new StringWriter()
+ def log(s: String): Unit = out.append(s)
+}