From 52e795486bd130fe1574ca1485def5b86bbfa7e1 Mon Sep 17 00:00:00 2001 From: markt Date: Sun, 4 Apr 2010 10:08:04 +0000 Subject: [PATCH] Modify unit tests to take account of https://issues.apache.org/bugzilla/show_bug.cgi?id=48914 Invoke should use parameters provided in expression in preference to parameters provided in invoke() call git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@930652 13f79535-47bb-0310-9956-ffa450edef68 --- test/org/apache/el/TestMethodExpressionImpl.java | 30 ++++++++++++++++++++---- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/test/org/apache/el/TestMethodExpressionImpl.java b/test/org/apache/el/TestMethodExpressionImpl.java index 98311693f..957c853d8 100644 --- a/test/org/apache/el/TestMethodExpressionImpl.java +++ b/test/org/apache/el/TestMethodExpressionImpl.java @@ -44,13 +44,33 @@ public class TestMethodExpressionImpl extends TestCase { context, "${beanB.sayHello('JUnit')}", String.class, new Class[] { String.class }); - String result1 = (String) me1.invoke(context, null); assertFalse(me1.isParmetersProvided()); - String result2 = (String) me2.invoke(context, new Object[] { "JUnit2" }); assertTrue(me2.isParmetersProvided()); - - assertNotNull(result1); - assertNotNull(result2); + } + + public void testInvoke() { + ExpressionFactory factory = ExpressionFactory.newInstance(); + ELContext context = new ELContextImpl(); + + TesterBeanB beanB = new TesterBeanB(); + beanB.setName("Tomcat"); + ValueExpression var = + factory.createValueExpression(beanB, TesterBeanB.class); + context.getVariableMapper().setVariable("beanB", var); + + MethodExpression me1 = factory.createMethodExpression( + context, "${beanB.getName}", String.class, new Class[] {}); + MethodExpression me2 = factory.createMethodExpression( + context, "${beanB.sayHello('JUnit')}", String.class, + new Class[] { String.class }); + MethodExpression me3 = factory.createMethodExpression( + context, "${beanB.sayHello}", String.class, + new Class[] { String.class }); + + assertEquals("Tomcat", me1.invoke(context, null)); + assertEquals("Hello JUnit from Tomcat", me2.invoke(context, null)); + assertEquals("Hello JUnit from Tomcat", me2.invoke(context, new Object[] { "JUnit2" })); + assertEquals("Hello JUnit2 from Tomcat", me3.invoke(context, new Object[] { "JUnit2" })); } } -- 2.11.0