aboutsummaryrefslogtreecommitdiff
path: root/libraries/eval/test/EvalTest.scala
diff options
context:
space:
mode:
authormarius a. eriksen <marius@twitter.com>2010-11-19 14:13:38 -0800
committerChristopher Vogt <oss.nsp@cvogt.org>2016-11-07 02:08:37 -0500
commited06f0fcc0539646416dac922e34f4fcc4595487 (patch)
tree7f6b27b20281e5a2e198e0f8452f22a69d36f8bb /libraries/eval/test/EvalTest.scala
parent54fe2f15640ba71f01f3bd6637270ce4b7ac3420 (diff)
downloadcbt-ed06f0fcc0539646416dac922e34f4fcc4595487.tar.gz
cbt-ed06f0fcc0539646416dac922e34f4fcc4595487.tar.bz2
cbt-ed06f0fcc0539646416dac922e34f4fcc4595487.zip
- add support for evaluating from streams
- use test resources when testing, not paths relative to project root
Diffstat (limited to 'libraries/eval/test/EvalTest.scala')
-rw-r--r--libraries/eval/test/EvalTest.scala24
1 files changed, 21 insertions, 3 deletions
diff --git a/libraries/eval/test/EvalTest.scala b/libraries/eval/test/EvalTest.scala
index bdb3d65..abf63d7 100644
--- a/libraries/eval/test/EvalTest.scala
+++ b/libraries/eval/test/EvalTest.scala
@@ -1,21 +1,39 @@
package com.twitter.util
import org.specs.Specification
-import java.io.File
+import java.io.{File, FileOutputStream}
object EvaluatorSpec extends Specification {
+ def file(path: String) = {
+ val stream = getClass.getResourceAsStream(path)
+ val file = File.createTempFile(path, "scala")
+ val fos = new FileOutputStream(file)
+
+ var byte = stream.read()
+ while (byte != -1) {
+ fos.write(byte)
+ byte = stream.read()
+ }
+
+ file
+ }
+
"Evaluator" should {
"apply('expression')" in {
Eval[Int]("1 + 1") mustEqual 2
}
"apply(new File(...))" in {
- Eval[Int](new File("src/test/resources/OnePlusOne.scala")) mustEqual 2
+ Eval[Int](file("/OnePlusOne.scala")) mustEqual 2
}
"apply(new File(...), new File(...))" in {
- val derived = Eval[() => String](new File("src/test/resources/Base.scala"), new File("src/test/resources/Derived.scala"))
+ val derived = Eval[() => String](file("/Base.scala"), file("/Derived.scala"))
derived() mustEqual "hello"
}
+
+ "apply(InputStream)" in {
+ Eval[Int](getClass.getResourceAsStream("/OnePlusOne.scala")) mustEqual 2
+ }
}
}