| #* |
| #* |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| *# |
| |
| @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 -- |