diff options
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/scala/scala/async/TestUtils.scala | 17 | ||||
-rw-r--r-- | src/test/scala/scala/async/neg/NakedAwait.scala | 19 | ||||
-rw-r--r-- | src/test/scala/scala/async/neg/SampleNegSpec.scala | 17 | ||||
-rw-r--r-- | src/test/scala/scala/async/neg/package.scala | 11 |
4 files changed, 41 insertions, 23 deletions
diff --git a/src/test/scala/scala/async/TestUtils.scala b/src/test/scala/scala/async/TestUtils.scala index f4def22..0920659 100644 --- a/src/test/scala/scala/async/TestUtils.scala +++ b/src/test/scala/scala/async/TestUtils.scala @@ -12,9 +12,12 @@ import java.util.concurrent.{TimeoutException, CountDownLatch, TimeUnit} import scala.concurrent.duration.Duration import org.junit.runner.RunWith import org.junit.runners.JUnit4 +import async._ +import tools.reflect.ToolBoxError trait TestUtils { + implicit class objectops(obj: Any) { def mustBe(other: Any) = assert(obj == other, obj + " is not " + other) @@ -35,4 +38,18 @@ trait TestUtils { else t.asInstanceOf[T] } } + + def eval(code: String, compileOptions: String = ""): Any = { + val m = scala.reflect.runtime.currentMirror + import scala.tools.reflect.ToolBox + val tb = m.mkToolBox(options = compileOptions) + val result = tb.eval(tb.parse(code)) + result + } + + def expectError(errorSnippet: String, compileOptions: String = "")(code: String) { + intercept[ToolBoxError] { + eval(code, compileOptions) + }.getMessage mustContain errorSnippet + } } diff --git a/src/test/scala/scala/async/neg/NakedAwait.scala b/src/test/scala/scala/async/neg/NakedAwait.scala new file mode 100644 index 0000000..db67f18 --- /dev/null +++ b/src/test/scala/scala/async/neg/NakedAwait.scala @@ -0,0 +1,19 @@ +package scala.async +package neg + +import org.junit.runner.RunWith +import org.junit.runners.JUnit4 +import org.junit.Test + +@RunWith(classOf[JUnit4]) +class NakedAwait { + @Test + def `await only allowed in async neg`() { + expectError("`await` must be enclosed in an `async` block", "-deprecation -Xfatal-warnings") { + """ + | import _root_.scala.async.Async._ + | await[Any](null) + """.stripMargin + } + } +} diff --git a/src/test/scala/scala/async/neg/SampleNegSpec.scala b/src/test/scala/scala/async/neg/SampleNegSpec.scala index 00daf44..94dbc1d 100644 --- a/src/test/scala/scala/async/neg/SampleNegSpec.scala +++ b/src/test/scala/scala/async/neg/SampleNegSpec.scala @@ -1,25 +1,18 @@ package scala.async package neg -import java.io.File import org.junit.runner.RunWith import org.junit.runners.JUnit4 import org.junit.Test -import tools.reflect.ToolBoxError @RunWith(classOf[JUnit4]) class SampleNegSpec { - val f = new File("/Users/jason/code/scala-async/test/files/run/await0") - @Test def `missing symbol`() { - intercept[ToolBoxError] { - eval { - """ - | kaboom - """.stripMargin - } - }.getMessage mustContain "not found: value kaboom" - + expectError("not found: value kaboom") { + """ + | kaboom + """.stripMargin + } } } diff --git a/src/test/scala/scala/async/neg/package.scala b/src/test/scala/scala/async/neg/package.scala deleted file mode 100644 index 1326394..0000000 --- a/src/test/scala/scala/async/neg/package.scala +++ /dev/null @@ -1,11 +0,0 @@ -package scala.async - -package object neg { - def eval(code: String): Any = { - val m = scala.reflect.runtime.currentMirror - import scala.tools.reflect.ToolBox - val tb = m.mkToolBox() - val result = tb.eval(tb.parse(code)) - result - } -} |