Fix #217 - expand ExpressionFactory.coerceToType() tests
If the call to toString() fails, the client should still see an
ELException
diff --git a/tck/src/main/java/com/sun/ts/tests/el/api/jakarta_el/expressionfactory/ELClientIT.java b/tck/src/main/java/com/sun/ts/tests/el/api/jakarta_el/expressionfactory/ELClientIT.java
index c76219a..ab6612d 100644
--- a/tck/src/main/java/com/sun/ts/tests/el/api/jakarta_el/expressionfactory/ELClientIT.java
+++ b/tck/src/main/java/com/sun/ts/tests/el/api/jakarta_el/expressionfactory/ELClientIT.java
@@ -452,7 +452,8 @@
new ObjectAndType(Integer.valueOf(1), Float.class),
new ObjectAndType("10000", Long.class),
new ObjectAndType("no value", Boolean.class),
- new ObjectAndType(null, null) };
+ new ObjectAndType(null, null),
+ new ObjectAndType(new NotBrokenToString(), String.class) };
ExpressionFactory expFactory = ExpressionFactory.newInstance();
@@ -500,7 +501,8 @@
new ObjectAndType(Boolean.TRUE, Character.class),
new ObjectAndType(Boolean.TRUE, Float.class),
new ObjectAndType("non-numeric string", Long.class),
- new ObjectAndType(Integer.valueOf(1), Class.class) };
+ new ObjectAndType(Integer.valueOf(1), Class.class),
+ new ObjectAndType(new BrokenToString(), String.class) };
ExpressionFactory expFactory = ExpressionFactory.newInstance();
@@ -535,4 +537,21 @@
this.type = type;
}
}
+
+ private static class NotBrokenToString {
+
+ @Override
+ public String toString() {
+ return "Data";
+ }
+ }
+
+
+ private static class BrokenToString {
+
+ @Override
+ public String toString() {
+ throw new IllegalStateException();
+ }
+ }
}