aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 { }