aboutsummaryrefslogtreecommitdiff
path: root/src/test/scala/scala/async/package.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/scala/scala/async/package.scala')
-rw-r--r--src/test/scala/scala/async/package.scala26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/test/scala/scala/async/package.scala b/src/test/scala/scala/async/package.scala
index 974a989..31f3d09 100644
--- a/src/test/scala/scala/async/package.scala
+++ b/src/test/scala/scala/async/package.scala
@@ -42,6 +42,32 @@ package object async {
m.mkToolBox(options = compileOptions)
}
+ import scala.tools.nsc._, reporters._
+ def mkGlobal(compileOptions: String = ""): Global = {
+ val source = """
+ | class Test {
+ | def test = {
+ | import scala.async.Async._, scala.concurrent._, ExecutionContext.Implicits.global
+ | async {
+ | val opt = await(async(Option.empty[String => Future[Unit]]))
+ | opt match {
+ | case None =>
+ | throw new RuntimeException("case a")
+ | case Some(f) =>
+ | await(f("case b"))
+ | }
+ | }
+ | }
+ | }
+ | """.stripMargin
+ val settings = new Settings()
+ settings.processArgumentString(compileOptions)
+ settings.usejavacp.value = true
+ settings.embeddedDefaults(getClass.getClassLoader)
+ val reporter = new StoreReporter
+ new Global(settings, reporter)
+ }
+
def scalaBinaryVersion: String = {
val PreReleasePattern = """.*-(M|RC).*""".r
val Pattern = """(\d+\.\d+)\..*""".r