aboutsummaryrefslogtreecommitdiff
path: root/velocity-engine-core/src/test/resources/evaluate
diff options
context:
space:
mode:
Diffstat (limited to 'velocity-engine-core/src/test/resources/evaluate')
-rw-r--r--velocity-engine-core/src/test/resources/evaluate/compare/eval1.cmp8
-rw-r--r--velocity-engine-core/src/test/resources/evaluate/compare/eval2.cmp9
-rw-r--r--velocity-engine-core/src/test/resources/evaluate/compare/evalvmcontext.cmp3
-rw-r--r--velocity-engine-core/src/test/resources/evaluate/eval1.vm20
-rw-r--r--velocity-engine-core/src/test/resources/evaluate/eval2.vm23
-rw-r--r--velocity-engine-core/src/test/resources/evaluate/evalvmcontext.vm7
6 files changed, 70 insertions, 0 deletions
diff --git a/velocity-engine-core/src/test/resources/evaluate/compare/eval1.cmp b/velocity-engine-core/src/test/resources/evaluate/compare/eval1.cmp
new file mode 100644
index 00000000..b1875f0b
--- /dev/null
+++ b/velocity-engine-core/src/test/resources/evaluate/compare/eval1.cmp
@@ -0,0 +1,8 @@
+
+basic string
+
+embedded reference zz
+zz
+
+reference zz changes to xx
+test1: xx
diff --git a/velocity-engine-core/src/test/resources/evaluate/compare/eval2.cmp b/velocity-engine-core/src/test/resources/evaluate/compare/eval2.cmp
new file mode 100644
index 00000000..9e87f0ed
--- /dev/null
+++ b/velocity-engine-core/src/test/resources/evaluate/compare/eval2.cmp
@@ -0,0 +1,9 @@
+test 1: a: 12
+basic string
+test 2: a: 22
+
+test 3: inner eval: 33
+
+basic string
+test 4: inner eval: 44
+
diff --git a/velocity-engine-core/src/test/resources/evaluate/compare/evalvmcontext.cmp b/velocity-engine-core/src/test/resources/evaluate/compare/evalvmcontext.cmp
new file mode 100644
index 00000000..711b225b
--- /dev/null
+++ b/velocity-engine-core/src/test/resources/evaluate/compare/evalvmcontext.cmp
@@ -0,0 +1,3 @@
+
+
+value is : val1;value is : val2; \ No newline at end of file
diff --git a/velocity-engine-core/src/test/resources/evaluate/eval1.vm b/velocity-engine-core/src/test/resources/evaluate/eval1.vm
new file mode 100644
index 00000000..889b0e02
--- /dev/null
+++ b/velocity-engine-core/src/test/resources/evaluate/eval1.vm
@@ -0,0 +1,20 @@
+## Testing the evaluate directive
+
+#evaluate("basic string")
+
+#set($test1 = "zz")
+#set($test2 = '$test1')
+
+#evaluate("embedded reference $test2")
+
+#evaluate($test2)
+
+## Now check that #evaluate does change context
+## Need to use single quote to surround #set to prevent premature evaluation
+
+#set($teststring = "reference $test2 changes to" +
+ '#set($test1 = "xx") $test1')
+#evaluate($teststring)
+
+## Check that test1 has changed
+test1: $test1
diff --git a/velocity-engine-core/src/test/resources/evaluate/eval2.vm b/velocity-engine-core/src/test/resources/evaluate/eval2.vm
new file mode 100644
index 00000000..59a363cb
--- /dev/null
+++ b/velocity-engine-core/src/test/resources/evaluate/eval2.vm
@@ -0,0 +1,23 @@
+##
+## Test evaluate preserves macros
+##
+#macro (test $a)
+a: $a##
+#end
+test 1: #test(12)
+#evaluate("basic string")
+
+test 2: #test(22)
+
+##
+## Test again while doing evaluate within macro
+##
+#macro (test2 $a)
+#evaluate("inner eval: $a")
+#end
+test 3: #test2(33)
+
+#evaluate("basic string")
+
+test 4: #test2(44)
+
diff --git a/velocity-engine-core/src/test/resources/evaluate/evalvmcontext.vm b/velocity-engine-core/src/test/resources/evaluate/evalvmcontext.vm
new file mode 100644
index 00000000..c27e229e
--- /dev/null
+++ b/velocity-engine-core/src/test/resources/evaluate/evalvmcontext.vm
@@ -0,0 +1,7 @@
+## test of evaluate in a macro context whith local refs (foreach refs)
+
+#macro(testEval $expr)
+#foreach($value in ["val1", "val2"])value is : #evaluate( $expr );#end
+#end
+
+#testEval( "${value}" )