Correctly coerce null to zero when Number is the required type.
git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@890139
13f79535-47bb-0310-9956-
ffa450edef68
if (Float.TYPE == type || Float.class.equals(type)) {
return new Float(number.floatValue());
}
+ if (Number.class.equals(type)) {
+ return number;
+ }
throw new IllegalArgumentException(MessageFactory.get("error.convert",
number, number.getClass(), type));
assertEquals(input, output);
}
+ public void testCoerceNullToNumber() {
+ Object output = ELSupport.coerceToType(null, Number.class);
+ assertEquals(Long.valueOf(0), output);
+ }
+
private static void testIsSame(Object value) {
assertEquals(value, ELSupport.coerceToNumber(value, value.getClass()));
}