Skip to content

Commit

Permalink
Semantics
Browse files Browse the repository at this point in the history
  • Loading branch information
safris committed Jun 12, 2023
1 parent 8106e5d commit 333d027
Showing 1 changed file with 10 additions and 6 deletions.
16 changes: 10 additions & 6 deletions src/main/java/org/libj/test/AssertXml.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
import static org.junit.Assert.*;

import java.util.HashMap;
import java.util.Map;
import java.util.regex.Pattern;

import javax.xml.XMLConstants;
Expand Down Expand Up @@ -63,7 +62,7 @@ public final class AssertXml {
* @return A new {@link AssertXml} comparison instance.
*/
public static AssertXml compare(final Element control, final Element test) {
final Map<String,String> prefixToNamespaceURI = new HashMap<>();
final HashMap<String,String> prefixToNamespaceURI = new HashMap<>();
prefixToNamespaceURI.put("xsi", XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI);
final NamedNodeMap attributes = control.getAttributes();
for (int i = 0, i$ = attributes.getLength(); i < i$; ++i) { // [RA]
Expand Down Expand Up @@ -312,8 +311,12 @@ public void assertEqual(final String message, final boolean filterStacktrace) {
diffEngine.addDifferenceListener(new ComparisonListener() {
@Override
public void comparisonPerformed(final Comparison comparison, final ComparisonResult result) {
final String controlXPath = comparison.getControlDetails().getXPath() == null ? null : ATTR_NAME_PATTERN.matcher(comparison.getControlDetails().getXPath()).replaceAll("/" + prefix + ":$1");
if (controlXPath == null || ATTR_MATCH_PATTERN.matcher(controlXPath).matches() || controlXPath.contains("text()"))
final String xPath = comparison.getControlDetails().getXPath();
if (xPath == null)
return;

final String controlXPath = ATTR_NAME_PATTERN.matcher(xPath).replaceAll("/" + prefix + ":$1");
if (ATTR_MATCH_PATTERN.matcher(controlXPath).matches() || controlXPath.contains("text()"))
return;

try {
Expand All @@ -327,8 +330,9 @@ public void comparisonPerformed(final Comparison comparison, final ComparisonRes
if (!stackTrace[i++].getClassName().startsWith(diffPackageName))
break;

final StackTraceElement[] filtered = new StackTraceElement[stackTrace.length - ++i];
System.arraycopy(stackTrace, i, filtered, 0, stackTrace.length - i);
final int length = stackTrace.length - ++i;
final StackTraceElement[] filtered = new StackTraceElement[length];
System.arraycopy(stackTrace, i, filtered, 0, length);
e.setStackTrace(filtered);
}

Expand Down

0 comments on commit 333d027

Please sign in to comment.