aboutsummaryrefslogtreecommitdiff
path: root/libraries/eval/test
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/eval/test')
-rw-r--r--libraries/eval/test/EvalTest.scala13
-rw-r--r--libraries/eval/test/resources/DerivedWithInclude.scala3
-rw-r--r--libraries/eval/test/resources/HelloJoe.scala3
-rw-r--r--libraries/eval/test/resources/RubyInclude.scala3
4 files changed, 22 insertions, 0 deletions
diff --git a/libraries/eval/test/EvalTest.scala b/libraries/eval/test/EvalTest.scala
index 3541381..c16de43 100644
--- a/libraries/eval/test/EvalTest.scala
+++ b/libraries/eval/test/EvalTest.scala
@@ -42,5 +42,18 @@ object EvalSpec extends Specification {
(new Eval).check("23") mustEqual ()
(new Eval).check("invalid") must throwA[Eval.CompilerException]
}
+
+ "#include" in {
+ val derived = Eval[() => String](
+ TempFile.fromResourcePath("/Base.scala"),
+ TempFile.fromResourcePath("/DerivedWithInclude.scala"))
+ derived() mustEqual "hello"
+ derived.toString mustEqual "hello, joe"
+ }
+
+ "throws a compilation error when Ruby is #included" in {
+ Eval[() => String](
+ TempFile.fromResourcePath("RubyInclude.scala")) must throwA[Throwable]
+ }
}
}
diff --git a/libraries/eval/test/resources/DerivedWithInclude.scala b/libraries/eval/test/resources/DerivedWithInclude.scala
new file mode 100644
index 0000000..476d60e
--- /dev/null
+++ b/libraries/eval/test/resources/DerivedWithInclude.scala
@@ -0,0 +1,3 @@
+new Base {
+#include HelloJoe.scala
+}
diff --git a/libraries/eval/test/resources/HelloJoe.scala b/libraries/eval/test/resources/HelloJoe.scala
new file mode 100644
index 0000000..c6ea42e
--- /dev/null
+++ b/libraries/eval/test/resources/HelloJoe.scala
@@ -0,0 +1,3 @@
+/* real-time declarative programming now */
+override def toString = "hello, joe"
+
diff --git a/libraries/eval/test/resources/RubyInclude.scala b/libraries/eval/test/resources/RubyInclude.scala
new file mode 100644
index 0000000..a763d52
--- /dev/null
+++ b/libraries/eval/test/resources/RubyInclude.scala
@@ -0,0 +1,3 @@
+object CodeThatIncludesSomeRuby {
+#include hello.rb
+}