aboutsummaryrefslogtreecommitdiff
path: root/velocity-engine-core/src/test/resources/templates/interpolation.vm
diff options
context:
space:
mode:
Diffstat (limited to 'velocity-engine-core/src/test/resources/templates/interpolation.vm')
-rw-r--r--velocity-engine-core/src/test/resources/templates/interpolation.vm82
1 files changed, 82 insertions, 0 deletions
diff --git a/velocity-engine-core/src/test/resources/templates/interpolation.vm b/velocity-engine-core/src/test/resources/templates/interpolation.vm
new file mode 100644
index 00000000..d426c86d
--- /dev/null
+++ b/velocity-engine-core/src/test/resources/templates/interpolation.vm
@@ -0,0 +1,82 @@
+#*
+
+@test interpolation.vm
+
+This template is used for Velocity regression testing.
+If you alter this template make sure you change the
+corresponding comparison file so that the regression
+test doesn't fail incorrectly.
+
+*#
+
+Start with simple string interpolation :
+
+#set($name = "jason")
+$provider.concat("it will cost you $10.00", "")
+
+#set($image = "dog")
+$provider.concat("${image}.jpg", "")
+
+#set($foo_bar = "foobar")
+$provider.concat("${foo_bar}.jpg", "")
+
+#set($foo__bar = "foobar")
+$provider.concat("${foo__bar}.jpg", "")
+
+#set($one = 1)
+#set($two = 2)
+#set($three = 3)
+$provider.concat("${one}${two}${three}", "")
+$provider.concat("$one $two $three", "")
+
+How about a directive? Sure :
+
+#set($arr = ["a","b","c"])
+#set($foo = "#foreach($a in $arr) >$a< #end")
+
+$foo
+
+For our next trick, lets interpolate a.... VelociMacro!
+
+#macro( interpfoo )
+ Hi, I'm a VM!
+#end
+
+#set($ivm = "#interpfoo()")
+
+$ivm
+
+And now, for something completely different :
+
+#set($code = "#if(false) True #else False #end")
+
+$code
+
+Now, non interpolated stringlits :
+
+#set($a = "$code")
+#set($b = '$code')
+#set($c = '$!$\!code')
+
+$a
+$b
+$c
+
+Now, check comments within strings. double quotes they should be removed.
+Single quotes, they should be kept literal.
+
+#set($c1 = "test##test")
+#set($c2 = "test ##test")
+#set($c3 = "##test")
+#set($c4 = "test#* hello *#test")
+#set($c5 = 'test##test')
+#set($c6 = 'test#* hello *#test')
+
+$c1
+$c2
+$c3
+$c4
+$c5
+$c6
+
+-- end --