diff options
author | Nikolay Tatarinov <5min4eq.unity@gmail.com> | 2018-02-26 08:35:41 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-26 08:35:41 +0300 |
commit | 30d753f43b28afe49cc803a3cc1d25956d6d7e52 (patch) | |
tree | 778484c7ef35e9bff87ae7975fce14a09c6f262e /scalajslib/test/src/mill/scalajslib/ScalaJsUtils.scala | |
parent | 0b2efbaf943501da2dac3741a9a8322597cc35e7 (diff) | |
download | mill-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.scala | 23 |
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) +} |