AnnotationAttributes stores and re-throws resolution exceptions
Issue: SPR-13177
This commit is contained in:
@@ -57,6 +57,7 @@ public class AnnotationAttributesTests {
|
||||
attributes.put("number", 42);
|
||||
attributes.put("anno", nestedAttributes);
|
||||
attributes.put("annoArray", new AnnotationAttributes[] { nestedAttributes });
|
||||
attributes.put("unresolvableClass", new ClassNotFoundException("myclass"));
|
||||
|
||||
assertThat(attributes.getString("name"), equalTo("dave"));
|
||||
assertThat(attributes.getStringArray("names"), equalTo(new String[] { "dave", "frank", "hal" }));
|
||||
@@ -68,6 +69,15 @@ public class AnnotationAttributesTests {
|
||||
assertThat(attributes.<Integer>getNumber("number"), equalTo(42));
|
||||
assertThat(attributes.getAnnotation("anno").<Integer>getNumber("value"), equalTo(10));
|
||||
assertThat(attributes.getAnnotationArray("annoArray")[0].getString("name"), equalTo("algernon"));
|
||||
|
||||
try {
|
||||
attributes.getClass("unresolvableClass");
|
||||
fail("Should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException ex) {
|
||||
assertTrue(ex.getCause() instanceof ClassNotFoundException);
|
||||
assertTrue(ex.getMessage().contains("myclass"));
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user