From 54fe2f15640ba71f01f3bd6637270ce4b7ac3420 Mon Sep 17 00:00:00 2001 From: eaceaser Date: Mon, 15 Nov 2010 15:53:50 -0800 Subject: Add support for multiple file compilation. --- libraries/eval/Eval.scala | 4 ++-- libraries/eval/test/EvalTest.scala | 5 +++++ libraries/eval/test/resources/Base.scala | 4 ++++ libraries/eval/test/resources/Derived.scala | 1 + 4 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 libraries/eval/test/resources/Base.scala create mode 100644 libraries/eval/test/resources/Derived.scala 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 { } -- cgit v1.2.3