public void test_Annotation_Failure()
{
ClassResolver resolver = new DefaultClassResolver();
ErrorLog log = newErrorLog();
Throwable t = new RuntimeException("Woops!");
EnhancementOperation op = newOp(AnnotatedPage.class);
IComponentSpecification spec = newSpec();
MethodAnnotationEnhancementWorker methodWorker = newMethodAnnotationEnhancementWorker();
Method m = findMethod(AnnotatedPage.class, "getInjectedObject");
Location location = newMethodLocation(AnnotatedPage.class, m, InjectObject.class);
methodWorker.performEnhancement(op, spec, m, location);
expectLastCall().andThrow(t);
log.error("An error occured processing annotation "
+ "@org.apache.tapestry.annotations.InjectObject(value=barney) of "
+ "public abstract java.lang.Object org.apache.tapestry.annotations.AnnotatedPage.getInjectedObject(): Woops!",
null,
t);