From d99a49a83fb84f472d8b75fa55bc5421eab08192 Mon Sep 17 00:00:00 2001 From: markt Date: Mon, 31 May 2010 17:29:17 +0000 Subject: [PATCH] Test case for https://issues.apache.org/bugzilla/show_bug.cgi?id=49345 Fix to follow git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@949808 13f79535-47bb-0310-9956-ffa450edef68 --- test/org/apache/el/TestValueExpressionImpl.java | 28 +++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/test/org/apache/el/TestValueExpressionImpl.java b/test/org/apache/el/TestValueExpressionImpl.java index 481aff75e..323891051 100644 --- a/test/org/apache/el/TestValueExpressionImpl.java +++ b/test/org/apache/el/TestValueExpressionImpl.java @@ -53,4 +53,32 @@ public class TestValueExpressionImpl extends TestCase { assertEquals("name", vr.getProperty()); } + + public void testBug49345() { + ExpressionFactory factory = ExpressionFactory.newInstance(); + ELContext context = new ELContextImpl(); + + TesterBeanA beanA = new TesterBeanA(); + TesterBeanB beanB = new TesterBeanB(); + beanB.setName("Tomcat"); + beanA.setBean(beanB); + + ValueExpression var = + factory.createValueExpression(beanA, TesterBeanA.class); + context.getVariableMapper().setVariable("beanA", var); + + ValueExpression ve = factory.createValueExpression( + context, "${beanA.bean.name}", String.class); + + // First check the basics work + String result = (String) ve.getValue(context); + assertEquals("Tomcat", result); + + // Now check the value reference + ValueReference vr = ve.getValueReference(context); + assertNotNull(vr); + + assertEquals(beanB, vr.getBase()); + assertEquals("name", vr.getProperty()); + } } -- 2.11.0