From: markt Date: Mon, 5 Jul 2010 21:44:29 +0000 (+0000) Subject: Test case for https://issues.apache.org/bugzilla/show_bug.cgi?id=49217 X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=53abc2a5a8cc6309b01a4eadb06db1404e57cb32;p=tomcat7.0 Test case for https://issues.apache.org/bugzilla/show_bug.cgi?id=49217 git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@960711 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/test/org/apache/el/parser/TestELParser.java b/test/org/apache/el/parser/TestELParser.java index ff1db8c1d..e2216f971 100644 --- a/test/org/apache/el/parser/TestELParser.java +++ b/test/org/apache/el/parser/TestELParser.java @@ -18,6 +18,7 @@ package org.apache.el.parser; import javax.el.ELContext; +import javax.el.ELException; import javax.el.ExpressionFactory; import javax.el.ValueExpression; @@ -53,7 +54,49 @@ public class TestELParser extends TestCase { testExpression("#$#{1+1}", "#$2"); testExpression("$#{1+1}", "$2"); testExpression("$#${1+1}", "$#2"); -} + } + + public void testJavaKeyWordSuffix() { + ExpressionFactory factory = ExpressionFactory.newInstance(); + ELContext context = new ELContextImpl(); + + TesterBeanA beanA = new TesterBeanA(); + beanA.setInt("five"); + ValueExpression var = + factory.createValueExpression(beanA, TesterBeanA.class); + context.getVariableMapper().setVariable("beanA", var); + + // Should fail + Exception e = null; + try { + factory.createValueExpression(context, "${beanA.int}", + String.class); + } catch (ELException ele) { + e = ele; + } + assertNotNull(e); + } + + public void testJavaKeyWordIdentifier() { + ExpressionFactory factory = ExpressionFactory.newInstance(); + ELContext context = new ELContextImpl(); + + TesterBeanA beanA = new TesterBeanA(); + beanA.setInt("five"); + ValueExpression var = + factory.createValueExpression(beanA, TesterBeanA.class); + context.getVariableMapper().setVariable("this", var); + + // Should fail + Exception e = null; + try { + factory.createValueExpression(context, "${this}", String.class); + } catch (ELException ele) { + e = ele; + } + assertNotNull(e); + } + private void testExpression(String expression, String expected) { ExpressionFactory factory = ExpressionFactory.newInstance(); diff --git a/test/org/apache/el/parser/TesterBeanA.java b/test/org/apache/el/parser/TesterBeanA.java new file mode 100644 index 000000000..268902a9e --- /dev/null +++ b/test/org/apache/el/parser/TesterBeanA.java @@ -0,0 +1,30 @@ +/* + * 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.parser; + +public class TesterBeanA { + private String keywordInt; + + public String getInt() { + return keywordInt; + } + + public void setInt(String keywordInt) { + this.keywordInt = keywordInt; + } +}