You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2010/01/06 18:33:31 UTC

svn commit: r896557 - /tomcat/trunk/test/org/apache/el/TestELEvaluation.java

Author: markt
Date: Wed Jan  6 17:33:26 2010
New Revision: 896557

URL: http://svn.apache.org/viewvc?rev=896557&view=rev
Log:
Start to expand the EL test cases

Modified:
    tomcat/trunk/test/org/apache/el/TestELEvaluation.java

Modified: tomcat/trunk/test/org/apache/el/TestELEvaluation.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/el/TestELEvaluation.java?rev=896557&r1=896556&r2=896557&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/el/TestELEvaluation.java (original)
+++ tomcat/trunk/test/org/apache/el/TestELEvaluation.java Wed Jan  6 17:33:26 2010
@@ -46,9 +46,32 @@
         assertEquals("false", evaluateExpression("${false?true:false}"));
     }
 
-    public void testMisc() {
-        // From bug 45451 - not a parser bug
-        assertEquals("\\", evaluateExpression("\\\\"));
+    public void testParserLiteralExpression() {
+        // Inspired by work on bug 45451, comments from kkolinko on the dev
+        // list and looking at the spec to find some edge cases
+
+        // '\' is only an escape character inside a StringLiteral
+        assertEquals("\\\\", evaluateExpression("\\\\"));
+    }
+
+    public void testParserStringLiteral() {
+        // Inspired by work on bug 45451, comments from kkolinko on the dev
+        // list and looking at the spec to find some edge cases
+        
+        // '\' is only an escape character inside a StringLiteral
+        assertEquals("\\", evaluateExpression("${'\\\\'}"));
+        assertEquals("\\", evaluateExpression("${\"\\\\\"}"));
+
+        // Can use ''' inside '"' when quoting with '"' and vice versa without
+        // escaping
+        assertEquals("\\\"", evaluateExpression("${'\\\\\"'}"));
+        assertEquals("\"\\", evaluateExpression("${'\"\\\\'}"));
+        assertEquals("\\'", evaluateExpression("${'\\\\\\''}"));
+        assertEquals("'\\", evaluateExpression("${'\\'\\\\'}"));
+        assertEquals("\\'", evaluateExpression("${\"\\\\'\"}"));
+        assertEquals("'\\", evaluateExpression("${\"'\\\\\"}"));
+        assertEquals("\\\"", evaluateExpression("${\"\\\\\\\"\"}"));
+        assertEquals("\"\\", evaluateExpression("${\"\\\"\\\\\"}"));
     }
 
     private void compareBoth(String msg, int expected, Object o1, Object o2){



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org