diff options
author | Andrew Vuong <akvuong@google.com> | 2023-02-22 21:17:27 +0000 |
---|---|---|
committer | Andrew Vuong <akvuong@google.com> | 2023-02-22 21:17:27 +0000 |
commit | 757677e8848ed434bb36206b674db6d601cbe5e5 (patch) | |
tree | 2ab78e0ae0cda6d3ac8006cd6e0c6be8dc78a873 /velocity-engine-core/src/test/resources/templates/escape2.vm | |
parent | bc4c7a291f1579e1b6b903dc43b707a755577565 (diff) | |
parent | f2461dce3a7455fc0416a7b0b95ed4021eff714d (diff) | |
download | apache-velocity-engine-757677e8848ed434bb36206b674db6d601cbe5e5.tar.gz |
Merge of apache-velocity-engine from aosp/masteraml_tz4_332714010
Bug: 262898801
Test: mma
Change-Id: I68491a2e8b89245a1bff44d86023cec475ff902d
Diffstat (limited to 'velocity-engine-core/src/test/resources/templates/escape2.vm')
-rw-r--r-- | velocity-engine-core/src/test/resources/templates/escape2.vm | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/velocity-engine-core/src/test/resources/templates/escape2.vm b/velocity-engine-core/src/test/resources/templates/escape2.vm new file mode 100644 index 00000000..1ba83a79 --- /dev/null +++ b/velocity-engine-core/src/test/resources/templates/escape2.vm @@ -0,0 +1,138 @@ +#* +@test escape2.vm + +More interesting cases... + +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. + +*# +--- Schmoo --- + +These are not in the context, so they should render as they are here (schmoo). +$foo +\$foo +\\$foo + +\#woogie +\\#woogie +\\\#woogie + +Now put $foo in the context : +#set($foo = "bar") +\$foo = $foo +\\\$foo =\\$foo +\\\\\$foo =\\\\$foo + +As we increase the number of \'s, we alternate renderings : +$foo +\$foo +\\$foo +\\\$foo +\\\\$foo + +--- Pluggable Directives ---- + +We are doing an \#include("test.txt"), starting with 0 '\' preceeding : + +#include("test.txt") +\#include("test.txt") +\\#include("test.txt") +\\\#include("test.txt") +\\\\#include("test.txt") + +Now, foreach is a PD. Escape the first one, and then not the second so it +renders. The third and fourth examples show the single 'unpleasantry' about this. The \ +is only an escape when 'touching' VTL, otherwise, it's just schmoo. + +\#foreach( + +\\#foreach($a in $stringarray) $a \\#end + +\\#foreach($a in $stringarray) $a \ \\#end + +\\#foreach($a in $stringarray)$a\ \\#end + + +--- Control Structures ---- + +First should be escaped... +\#if(true) hi \#end + +This isn't. Note then that it has to render the \\ as a \ because it's stuck to the VTL + +\\#if(true) hi \\#end + +\\#if(true) hi #end + +And so forth... +\\\#if(true) hi \\\#end + +\\\\#if(true) hi \\\\#end + +And more... + +\#if(true) + hi +\#else + there +\#end + +\\#if(true) + hi +\\#else + there +\\#end + +\\\#if(true) + hi +\\\#else + there +\\\#end + +\\#if(false) + hi +\\#elseif(true) + there +\\#end + +\\\#if(false) + hi +\\\#elseif(true) + there +\\\#end + +## testing combinations like #$foo + +#$foo1 +\#$foo1 +#${foo1} +\#$${foo1} +#set($foo1 = "C0C0C0") +#$foo1 +\#$foo1 +#${foo1} +\#$${foo1} +#\$${foo1} + +## and wacky stuff that are not references, but +## because of the MORE tokens, get screwed up + +$(QUERY_STRING{forumid}) +\$(QUERY_STRING{forumid}) +\\$(QUERY_STRING{forumid}) + +## +## and just slashes.... +## + +\ +\\ +\\\ +\\\\ +\\\\\ +\\\\\\ +\\\\\\\ +\\\\\\\\ |