diff options
Diffstat (limited to 'scalajslib/test/src/ScalaJsUtils.scala')
-rw-r--r-- | scalajslib/test/src/ScalaJsUtils.scala | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/scalajslib/test/src/ScalaJsUtils.scala b/scalajslib/test/src/ScalaJsUtils.scala new file mode 100644 index 00000000..68f2f7ee --- /dev/null +++ b/scalajslib/test/src/ScalaJsUtils.scala @@ -0,0 +1,21 @@ +package mill.scalajslib + +import java.io.{FileReader, StringWriter} +import javax.script.{ScriptContext, ScriptEngineManager} + +object ScalaJsUtils { + def runJS(path: os.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) +} |