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/06/10 22:09:47 UTC

svn commit: r953438 - in /tomcat/trunk/test/org/apache/el: TestMethodExpressionImpl.java TesterBeanC.java

Author: markt
Date: Thu Jun 10 20:09:47 2010
New Revision: 953438

URL: http://svn.apache.org/viewvc?rev=953438&view=rev
Log:
Test method invocation with super classes

Added:
    tomcat/trunk/test/org/apache/el/TesterBeanC.java   (with props)
Modified:
    tomcat/trunk/test/org/apache/el/TestMethodExpressionImpl.java

Modified: tomcat/trunk/test/org/apache/el/TestMethodExpressionImpl.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/el/TestMethodExpressionImpl.java?rev=953438&r1=953437&r2=953438&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/el/TestMethodExpressionImpl.java (original)
+++ tomcat/trunk/test/org/apache/el/TestMethodExpressionImpl.java Thu Jun 10 20:09:47 2010
@@ -69,10 +69,37 @@ public class TestMethodExpressionImpl ex
 
         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" }));
-        assertEquals("Hello JUnit from Tomcat", me2.invoke(context, new Object[] { null }));
-        assertEquals("Hello null from Tomcat", me3.invoke(context, new Object[] { null }));
+        assertEquals("Hello JUnit from Tomcat",
+                me2.invoke(context, new Object[] { "JUnit2" }));
+        assertEquals("Hello JUnit2 from Tomcat",
+                me3.invoke(context, new Object[] { "JUnit2" }));
+        assertEquals("Hello JUnit from Tomcat",
+                me2.invoke(context, new Object[] { null }));
+        assertEquals("Hello null from Tomcat",
+                me3.invoke(context, new Object[] { null }));
     }
 
+    public void testInvokeWithSuper() {
+        ExpressionFactory factory = ExpressionFactory.newInstance();
+        ELContext context = new ELContextImpl();
+
+        TesterBeanA beanA = new TesterBeanA();
+        ValueExpression varA =
+            factory.createValueExpression(beanA, TesterBeanA.class);
+        context.getVariableMapper().setVariable("beanA", varA);
+        
+        TesterBeanC beanC = new TesterBeanC();        
+        beanC.setName("Tomcat");
+        ValueExpression varC =
+            factory.createValueExpression(beanC, TesterBeanC.class);
+        context.getVariableMapper().setVariable("beanC", varC);
+        
+        MethodExpression me1 = factory.createMethodExpression(context,
+                "${beanA.setBean(beanC)}", null ,
+                new Class<?>[] { TesterBeanB.class });
+        
+        me1.invoke(context, null);
+        
+        assertEquals(beanA.getBean(), beanC);
+    }
 }

Added: tomcat/trunk/test/org/apache/el/TesterBeanC.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/el/TesterBeanC.java?rev=953438&view=auto
==============================================================================
--- tomcat/trunk/test/org/apache/el/TesterBeanC.java (added)
+++ tomcat/trunk/test/org/apache/el/TesterBeanC.java Thu Jun 10 20:09:47 2010
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.el;
+
+public class TesterBeanC extends TesterBeanB {
+
+    private String extra;
+
+    public String getExtra() {
+        return extra;
+    }
+
+    public void setExtra(String extra) {
+        this.extra = extra;
+    }
+}

Propchange: tomcat/trunk/test/org/apache/el/TesterBeanC.java
------------------------------------------------------------------------------
    svn:eol-style = native



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