in jelly-tags/junit/src/main/java/org/apache/commons/jelly/tags/junit/RunTag.java [139:205]
protected TestListener createTestListener(final XMLOutput output) {
return new TestListener() {
@Override
public void addError(Test test, Throwable t) {
try {
output.startElement("error");
output.startElement("message");
output.write(t.getMessage());
output.endElement("message");
output.startElement("stack");
output.write( stackTraceToString(t) );
output.endElement("stack");
output.endElement("error");
}
catch (SAXException e) {
handleSAXException(e);
}
}
@Override
public void addFailure(Test test, AssertionFailedError t) {
try {
output.startElement("failure");
output.startElement("message");
output.write(t.getMessage());
output.endElement("message");
output.startElement("stack");
output.write( stackTraceToString(t) );
output.endElement("stack");
output.endElement("failure");
}
catch (SAXException e) {
handleSAXException(e);
}
}
@Override
public void endTest(Test test) {
try {
output.endElement("test");
}
catch (SAXException e) {
handleSAXException(e);
}
}
@Override
public void startTest(Test test) {
try {
String name = test.toString();
AttributesImpl attributes = new AttributesImpl();
attributes.addAttribute("", "name", "name", "CDATA", name);
output.startElement("test", attributes);
}
catch (SAXException e) {
handleSAXException(e);
}
}
};
}