aboutsummaryrefslogtreecommitdiff
path: root/velocity-engine-core/src/test/resources/templates/escape2.vm
diff options
context:
space:
mode:
Diffstat (limited to 'velocity-engine-core/src/test/resources/templates/escape2.vm')
-rw-r--r--velocity-engine-core/src/test/resources/templates/escape2.vm138
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....
+##
+
+\
+\\
+\\\
+\\\\
+\\\\\
+\\\\\\
+\\\\\\\
+\\\\\\\\