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 2013/07/12 12:58:28 UTC

svn commit: r1502510 - /tomcat/trunk/test/javax/el/TestEvaluationListener.java

Author: markt
Date: Fri Jul 12 10:58:27 2013
New Revision: 1502510

URL: http://svn.apache.org/r1502510
Log:
Add unit tests for expression evaluation

Modified:
    tomcat/trunk/test/javax/el/TestEvaluationListener.java

Modified: tomcat/trunk/test/javax/el/TestEvaluationListener.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/javax/el/TestEvaluationListener.java?rev=1502510&r1=1502509&r2=1502510&view=diff
==============================================================================
--- tomcat/trunk/test/javax/el/TestEvaluationListener.java (original)
+++ tomcat/trunk/test/javax/el/TestEvaluationListener.java Fri Jul 12 10:58:27 2013
@@ -77,4 +77,58 @@ public class TestEvaluationListener {
         Assert.assertEquals(bean, p.getBase());
         Assert.assertEquals("foo", p.getProperty());
     }
+
+
+    @Test
+    public void testEvaluation01() {
+        ExpressionFactory factory = ELManager.getExpressionFactory();
+        ELContext context = new TesterELContext();
+        String expression = "${1 + 1}";
+        ValueExpression ve =
+                factory.createValueExpression(context, expression, int.class);
+
+        TesterEvaluationListener listener = new TesterEvaluationListener();
+        context.addEvaluationListener(listener);
+
+        Object result = ve.getValue(context);
+
+        // Check the result
+        Assert.assertEquals(Integer.valueOf(2), result);
+
+        List<String> before = listener.getBeforeEvaluationExpressions();
+        Assert.assertEquals(1, before.size());
+        Assert.assertEquals(expression, before.get(0));
+
+        List<String> after = listener.getAfterEvaluationExpressions();
+        Assert.assertEquals(1, after.size());
+        Assert.assertEquals(expression, after.get(0));
+    }
+
+
+    @Test
+    public void testEvaluation02() {
+        ExpressionFactory factory = ELManager.getExpressionFactory();
+        ELContext context = new TesterELContext(new CompositeELResolver());
+        String expression = "${foo.bar + 1}";
+        ValueExpression ve =
+                factory.createValueExpression(context, expression, int.class);
+
+        TesterEvaluationListener listener = new TesterEvaluationListener();
+        context.addEvaluationListener(listener);
+
+        Exception e = null;
+        try {
+            ve.getValue(context);
+        } catch (PropertyNotFoundException pnfe) {
+            e = pnfe;
+        }
+        Assert.assertNotNull(e);
+
+        List<String> before = listener.getBeforeEvaluationExpressions();
+        Assert.assertEquals(1, before.size());
+        Assert.assertEquals(expression, before.get(0));
+
+        List<String> after = listener.getAfterEvaluationExpressions();
+        Assert.assertEquals(0, after.size());
+    }
 }



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