diff options
Diffstat (limited to 'velocity-engine-core/src/test/resources/templates/range.vm')
-rw-r--r-- | velocity-engine-core/src/test/resources/templates/range.vm | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/velocity-engine-core/src/test/resources/templates/range.vm b/velocity-engine-core/src/test/resources/templates/range.vm new file mode 100644 index 00000000..4fdbb021 --- /dev/null +++ b/velocity-engine-core/src/test/resources/templates/range.vm @@ -0,0 +1,93 @@ +#* + +@test range.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. + +Tests the range operator [n..m] + +*# +[1..5] +#foreach($i in [1..5]) $i #end + +----- +[0..0] +#foreach($i in [0..0]) $i #end + +----- +[-4..-5] +#foreach($i in [-4..-5]) $i #end + +----- +[ 1 .. 5 ] +#foreach($i in [ 1 .. 5 ]) $i #end + +----- +[5..1] +#foreach($i in [5..1]) $i #end + +----- +[-5..5] +#foreach($i in [-5..5]) $i #end + +----- +[5..-5] +#foreach($i in [5..-5]) $i #end + +----- +#set($a = 1) +#set($b = 5) +refs \$a=$a \$b=$b [\$a..\$b] +#foreach($i in [$a..$b]) $i #end + +----- +#set($a = 1) +#set($b = "5") +refs \$a=$a \$b="$b" [\$a.."\$b"] +#foreach($i in [$a..$b]) $i #end + +----- +[\$a.. 7] +#foreach($i in [$a.. 7]) $i #end + +----- +[-7 ..\$a] +#foreach($i in [-7 ..$a]) $i #end + +----- +[ -7 ..\$a] +#foreach($i in[ -7 ..$a]) $i #end + +------ +#set($foo = [0..5]) +setting in \$foo -> [0..5] : +#foreach($i in $foo )$i #end + +---- + +Now some use-case examples. Suppose we want a table to have 10 rows + +#set($arr = ["a","b","c"]) + +<table> +#foreach($i in $arr) +<tr><td>$i</td></tr> +#end +#foreach($i in [4..10]) +<tr><td> </td></tr> +#end +</table> + +---- +Wide loop should not OOM +#foreach($i in [0..67000000]) +#if($i == 100) +that's enough +#break +#end +#end + +=done= |