diff options
Diffstat (limited to 'velocity-engine-core/src/test/resources/evaluate')
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}" ) |