Skip to content

Commit

Permalink
just make sure #197 isn't caused by conditional ElementSelector
Browse files Browse the repository at this point in the history
  • Loading branch information
bodewig committed Sep 26, 2020
1 parent 664a90e commit fe167c7
Showing 1 changed file with 31 additions and 1 deletion.
Expand Up @@ -44,7 +44,7 @@ public void elementSelectorsAreQueriedInSequence() {
control1.appendChild(doc.createTextNode("foo"));
Element control2 = doc.createElement("a");
control2.appendChild(doc.createTextNode("bar"));

Element test1 = doc.createElement("a");
test1.appendChild(doc.createTextNode("baz"));
Element test2 = doc.createElement("a");
Expand All @@ -65,4 +65,34 @@ public void elementSelectorsAreQueriedInSequence() {
assertSame(control2, result.get(1).getKey());
assertSame(test1, result.get(1).getValue());
}

@Test
// https://github.com/xmlunit/xmlunit/issues/197
public void elementSelectorsAreQueriedInSequenceWithConditionalSelector() {
Element control1 = doc.createElement("a");
control1.appendChild(doc.createTextNode("foo"));
Element control2 = doc.createElement("a");
control2.appendChild(doc.createTextNode("bar"));

Element test1 = doc.createElement("a");
test1.appendChild(doc.createTextNode("baz"));
Element test2 = doc.createElement("a");
test2.appendChild(doc.createTextNode("foo"));

DefaultNodeMatcher m =
new DefaultNodeMatcher(ElementSelectors.selectorForElementNamed("a", ElementSelectors.byNameAndText),
ElementSelectors.byName);
List<Map.Entry<Node, Node>> result =
Linqy.asList(m.match(Arrays.<Node>asList(control1, control2),
Arrays.<Node>asList(test1, test2)));
assertEquals(2, result.size());

// byNameAndText
assertSame(control1, result.get(0).getKey());
assertSame(test2, result.get(0).getValue());

// byName
assertSame(control2, result.get(1).getKey());
assertSame(test1, result.get(1).getValue());
}
}

0 comments on commit fe167c7

Please sign in to comment.