use of org.apache.jasper.el.ELContextImpl in project tomcat70 by apache.
the class TestValueExpressionImpl method testBug50105.
@Test
public void testBug50105() {
ExpressionFactory factory = ExpressionFactory.newInstance();
ELContext context = new ELContextImpl();
TesterEnum testEnum = TesterEnum.APPLE;
ValueExpression var = factory.createValueExpression(testEnum, TesterEnum.class);
context.getVariableMapper().setVariable("testEnum", var);
// When coercing an Enum to a String, name() should always be used.
ValueExpression ve1 = factory.createValueExpression(context, "${testEnum}", String.class);
String result1 = (String) ve1.getValue(context);
Assert.assertEquals("APPLE", result1);
ValueExpression ve2 = factory.createValueExpression(context, "foo${testEnum}bar", String.class);
String result2 = (String) ve2.getValue(context);
Assert.assertEquals("fooAPPLEbar", result2);
}
use of org.apache.jasper.el.ELContextImpl in project tomcat70 by apache.
the class TestValueExpressionImpl method testBug51544Direct.
/**
* Test using list directly as variable.
*/
@Test
public void testBug51544Direct() throws Exception {
ExpressionFactory factory = ExpressionFactory.newInstance();
ELContext context = new ELContextImpl();
List<?> list = Collections.emptyList();
ValueExpression var = factory.createValueExpression(list, List.class);
context.getVariableMapper().setVariable("list", var);
ValueExpression ve = factory.createValueExpression(context, "${list.size()}", Integer.class);
Integer result = (Integer) ve.getValue(context);
Assert.assertEquals(Integer.valueOf(0), result);
}
use of org.apache.jasper.el.ELContextImpl in project tomcat70 by apache.
the class TestValueExpressionImpl method testBug51544Bean.
/**
* Test returning an empty list as a bean property.
*/
@Test
public void testBug51544Bean() throws Exception {
ExpressionFactory factory = ExpressionFactory.newInstance();
ELContext context = new ELContextImpl();
TesterBeanA beanA = new TesterBeanA();
beanA.setValList(Collections.emptyList());
ValueExpression var = factory.createValueExpression(beanA, TesterBeanA.class);
context.getVariableMapper().setVariable("beanA", var);
ValueExpression ve = factory.createValueExpression(context, "${beanA.valList.size()}", Integer.class);
Integer result = (Integer) ve.getValue(context);
Assert.assertEquals(Integer.valueOf(0), result);
}
use of org.apache.jasper.el.ELContextImpl in project tomcat70 by apache.
the class TestValueExpressionImpl method testBug51177ObjectMap.
@Test
public void testBug51177ObjectMap() {
ExpressionFactory factory = ExpressionFactory.newInstance();
ELContext context = new ELContextImpl();
Object o1 = "String value";
Object o2 = Integer.valueOf(32);
Map<Object, Object> map = new HashMap<Object, Object>();
map.put("key1", o1);
map.put("key2", o2);
ValueExpression var = factory.createValueExpression(map, Map.class);
context.getVariableMapper().setVariable("map", var);
ValueExpression ve1 = factory.createValueExpression(context, "${map.key1}", Object.class);
ve1.setValue(context, o2);
Assert.assertEquals(o2, ve1.getValue(context));
ValueExpression ve2 = factory.createValueExpression(context, "${map.key2}", Object.class);
ve2.setValue(context, o1);
Assert.assertEquals(o1, ve2.getValue(context));
}
use of org.apache.jasper.el.ELContextImpl in project tomcat70 by apache.
the class TestELEvaluation method evaluateExpression.
// ************************************************************************
private String evaluateExpression(String expression) {
ELContextImpl ctx = new ELContextImpl();
ctx.setFunctionMapper(new TesterFunctions.FMapper());
ExpressionFactoryImpl exprFactory = new ExpressionFactoryImpl();
ValueExpression ve = exprFactory.createValueExpression(ctx, expression, String.class);
return (String) ve.getValue(ctx);
}
Aggregations