diff options
Diffstat (limited to 'velocity-engine-core/src/test/resources/templates/interpolation.vm')
-rw-r--r-- | velocity-engine-core/src/test/resources/templates/interpolation.vm | 82 |
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 -- |