summaryrefslogtreecommitdiff
path: root/examples/scala-js/sbt-plugin/src/test/scala/scala/scalajs/sbtplugin/test/env/AsyncTests.scala
diff options
context:
space:
mode:
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.scala37
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)
+ }
+
+}