diff options
Diffstat (limited to 'examples/scala-js/sbt-plugin/src/test/scala/scala/scalajs/sbtplugin/test/env/AsyncTests.scala')
-rw-r--r-- | examples/scala-js/sbt-plugin/src/test/scala/scala/scalajs/sbtplugin/test/env/AsyncTests.scala | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/examples/scala-js/sbt-plugin/src/test/scala/scala/scalajs/sbtplugin/test/env/AsyncTests.scala b/examples/scala-js/sbt-plugin/src/test/scala/scala/scalajs/sbtplugin/test/env/AsyncTests.scala new file mode 100644 index 0000000..422c17b --- /dev/null +++ b/examples/scala-js/sbt-plugin/src/test/scala/scala/scalajs/sbtplugin/test/env/AsyncTests.scala @@ -0,0 +1,37 @@ +package scala.scalajs.sbtplugin.test.env + +import scala.scalajs.tools.env._ +import scala.scalajs.tools.io._ +import scala.scalajs.tools.classpath.PartialClasspath +import scala.scalajs.tools.logging._ + +import org.junit.Test +import org.junit.Assert._ + +import scala.concurrent.Await +import scala.concurrent.duration.Duration + +/** A couple of tests that test communication for mix-in into a test suite */ +trait AsyncTests { + + protected def newJSEnv: AsyncJSEnv + + private def emptyCP = PartialClasspath.empty.resolve() + + private def asyncRunner(code: String) = { + val codeVF = new MemVirtualJSFile("testScript.js").withContent(code) + newJSEnv.asyncRunner(emptyCP, codeVF, + new ScalaConsoleLogger(Level.Warn), ConsoleJSConsole) + } + + @Test + def futureTest = { + val runner = asyncRunner("") + val fut = runner.start() + + Await.result(fut, Duration.Inf) + + assertFalse("VM should be terminated", runner.isRunning) + } + +} |