in jelly-tags/xmlunit/src/main/java/org/apache/commons/jelly/tags/xmlunit/AssertDocumentsEqualTag.java [51:93]
public void doTag(XMLOutput output) throws JellyTagException {
invokeBody(output);
if (actual != null) {
if (actualDocument != null) {
fail("Cannot specify both actual attribute and element");
}
actualDocument = parse(actual);
}
if (expected != null) {
if (expectedDocument != null) {
fail("Cannot specify both expected attribute and element");
}
expectedDocument = parse(expected);
}
if ((expectedDocument == null
|| expectedDocument.getRootElement() == null)
&& (actualDocument == null
|| actualDocument.getRootElement() == null)) {
return;
}
if (actualDocument != null) {
XMLUnit.setIgnoreWhitespace(ignoreWhitespace);
Diff delta = null;
try {
delta = new Diff(
expectedDocument.asXML(),
actualDocument.asXML());
}
catch (Throwable e) {
throw new JellyTagException(e);
}
if (delta.identical()) {
return;
}
fail(delta.toString());
}
}