You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@velocity.apache.org by by...@apache.org on 2009/01/22 07:16:55 UTC
svn commit: r736575 -
/velocity/engine/trunk/src/test/org/apache/velocity/test/StrictEscapeTestCase.java
Author: byron
Date: Wed Jan 21 22:16:55 2009
New Revision: 736575
URL: http://svn.apache.org/viewvc?rev=736575&view=rev
Log:
VELOCITY-623 Additional test cases for strict escapes setting
Modified:
velocity/engine/trunk/src/test/org/apache/velocity/test/StrictEscapeTestCase.java
Modified: velocity/engine/trunk/src/test/org/apache/velocity/test/StrictEscapeTestCase.java
URL: http://svn.apache.org/viewvc/velocity/engine/trunk/src/test/org/apache/velocity/test/StrictEscapeTestCase.java?rev=736575&r1=736574&r2=736575&view=diff
==============================================================================
--- velocity/engine/trunk/src/test/org/apache/velocity/test/StrictEscapeTestCase.java (original)
+++ velocity/engine/trunk/src/test/org/apache/velocity/test/StrictEscapeTestCase.java Wed Jan 21 22:16:55 2009
@@ -37,17 +37,16 @@
{
super.setUp();
engine.setProperty(RuntimeConstants.RUNTIME_REFERENCES_STRICT_ESCAPE, Boolean.TRUE);
+ DEBUG=true;
context.put("pow", "bang");
}
- /**
- * Test that escaping works in strict mode
- */
public void testVarEscape()
{
- assertEvalEquals("\\$bogus", "\\\\$bogus");
- assertEvalEquals("\\\\$bogus", "\\\\\\\\$bogus");
- assertEvalEquals("\\$bogus", "#set($foo = \"\\\\$bogus\")$foo");
+ engine.setProperty(RuntimeConstants.RUNTIME_REFERENCES_STRICT, Boolean.TRUE);
+
+ assertEvalException("\\\\$bogus");
+ assertEvalException("\\\\\\\\$bogus");
assertEvalEquals("$bogus", "\\$bogus");
assertEvalEquals("$bogus.xyz", "\\$bogus.xyz");
@@ -61,14 +60,13 @@
assertEvalEquals("\\bang", "#set($foo = \"\\\\$pow\")$foo");
assertEvalEquals("\\$pow", "#set($foo = \"\\\\\\$pow\")$foo");
- assertEvalEquals("\\$%", "\\$%");
+ assertEvalEquals("\\$%", "\\$%");
}
-
-
+
public void testMacroEscape()
{
- assertEvalEquals("#bogus()", "\\#bogus()");
- assertEvalEquals("\\#bogus", "\\\\#bogus");
+ engine.setProperty(RuntimeConstants.RUNTIME_REFERENCES_STRICT, Boolean.TRUE);
+ assertEvalException("\\\\#bogus()");
// define the foo macro
assertEvalEquals("", "#macro(foo)bar#end");
@@ -88,6 +86,21 @@
assertEvalEquals("#end #foreach #define() #elseif", "\\#end \\#foreach \\#define() \\#elseif");
assertEvalEquals("#{end} #{foreach} #{define}() #{elseif}", "\\#{end} \\#{foreach} \\#{define}() \\#{elseif}");
assertEvalEquals("#macro(foo) #end", "\\#macro(foo) \\#end");
-
+
+ assertEvalException("\\\\#end");
+ assertEvalException("\\\\#if()");
}
+
+ /**
+ * Tests for non strict-mode
+ */
+ public void testStrictMode()
+ {
+ assertEvalEquals("#bogus()", "\\#bogus()");
+ assertEvalEquals("\\#bogus", "\\\\#bogus");
+
+ assertEvalEquals("\\$bogus", "\\\\$bogus");
+ assertEvalEquals("\\\\$bogus", "\\\\\\\\$bogus");
+ assertEvalEquals("\\$bogus", "#set($foo = \"\\\\$bogus\")$foo");
+ }
}