blob: 5a4d9a9fade39234ec1ee07cdc4063de7ccf4fe0 [file] [log] [blame]
#*
@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
-- end --