aboutsummaryrefslogtreecommitdiff
path: root/libraries/eval
diff options
context:
space:
mode:
authoreaceaser <eac@twitter.com>2010-11-15 15:53:50 -0800
committerChristopher Vogt <oss.nsp@cvogt.org>2016-11-07 02:08:37 -0500
commit54fe2f15640ba71f01f3bd6637270ce4b7ac3420 (patch)
tree7e8281b66d8b676ebb5d4cfba86650e0f0b31f38 /libraries/eval
parentda67abe4f2d52845569ea0f2a8a769dce610ad92 (diff)
downloadcbt-54fe2f15640ba71f01f3bd6637270ce4b7ac3420.tar.gz
cbt-54fe2f15640ba71f01f3bd6637270ce4b7ac3420.tar.bz2
cbt-54fe2f15640ba71f01f3bd6637270ce4b7ac3420.zip
Add support for multiple file compilation.
Diffstat (limited to 'libraries/eval')
-rw-r--r--libraries/eval/Eval.scala4
-rw-r--r--libraries/eval/test/EvalTest.scala5
-rw-r--r--libraries/eval/test/resources/Base.scala4
-rw-r--r--libraries/eval/test/resources/Derived.scala1
4 files changed, 12 insertions, 2 deletions
diff --git a/libraries/eval/Eval.scala b/libraries/eval/Eval.scala
index fc4c2ba..93e09f9 100644
--- a/libraries/eval/Eval.scala
+++ b/libraries/eval/Eval.scala
@@ -95,8 +95,8 @@ object Eval {
/**
* Eval[Int](new File("..."))
*/
- def apply[T](fileToEval: File): T = {
- val stringToEval = scala.io.Source.fromFile(fileToEval).mkString
+ def apply[T](fileToEval: File*): T = {
+ val stringToEval = List(fileToEval: _*).map(scala.io.Source.fromFile(_).mkString).mkString
apply(stringToEval)
}
diff --git a/libraries/eval/test/EvalTest.scala b/libraries/eval/test/EvalTest.scala
index eaf42a7..bdb3d65 100644
--- a/libraries/eval/test/EvalTest.scala
+++ b/libraries/eval/test/EvalTest.scala
@@ -12,5 +12,10 @@ object EvaluatorSpec extends Specification {
"apply(new File(...))" in {
Eval[Int](new File("src/test/resources/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"))
+ derived() mustEqual "hello"
+ }
}
}
diff --git a/libraries/eval/test/resources/Base.scala b/libraries/eval/test/resources/Base.scala
new file mode 100644
index 0000000..ec8ae22
--- /dev/null
+++ b/libraries/eval/test/resources/Base.scala
@@ -0,0 +1,4 @@
+trait Base extends (() => String) {
+ def apply() = "hello"
+}
+
diff --git a/libraries/eval/test/resources/Derived.scala b/libraries/eval/test/resources/Derived.scala
new file mode 100644
index 0000000..1d8e0d8
--- /dev/null
+++ b/libraries/eval/test/resources/Derived.scala
@@ -0,0 +1 @@
+new Base { }