Skip to content

Commit fe167c7

Browse files
committed
just make sure #197 isn't caused by conditional ElementSelector
1 parent 664a90e commit fe167c7

1 file changed

Lines changed: 31 additions & 1 deletion

File tree

xmlunit-core/src/test/java/org/xmlunit/diff/DefaultNodeMatcherTest.java

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public void elementSelectorsAreQueriedInSequence() {
4444
control1.appendChild(doc.createTextNode("foo"));
4545
Element control2 = doc.createElement("a");
4646
control2.appendChild(doc.createTextNode("bar"));
47-
47+
4848
Element test1 = doc.createElement("a");
4949
test1.appendChild(doc.createTextNode("baz"));
5050
Element test2 = doc.createElement("a");
@@ -65,4 +65,34 @@ public void elementSelectorsAreQueriedInSequence() {
6565
assertSame(control2, result.get(1).getKey());
6666
assertSame(test1, result.get(1).getValue());
6767
}
68+
69+
@Test
70+
// https://github.com/xmlunit/xmlunit/issues/197
71+
public void elementSelectorsAreQueriedInSequenceWithConditionalSelector() {
72+
Element control1 = doc.createElement("a");
73+
control1.appendChild(doc.createTextNode("foo"));
74+
Element control2 = doc.createElement("a");
75+
control2.appendChild(doc.createTextNode("bar"));
76+
77+
Element test1 = doc.createElement("a");
78+
test1.appendChild(doc.createTextNode("baz"));
79+
Element test2 = doc.createElement("a");
80+
test2.appendChild(doc.createTextNode("foo"));
81+
82+
DefaultNodeMatcher m =
83+
new DefaultNodeMatcher(ElementSelectors.selectorForElementNamed("a", ElementSelectors.byNameAndText),
84+
ElementSelectors.byName);
85+
List<Map.Entry<Node, Node>> result =
86+
Linqy.asList(m.match(Arrays.<Node>asList(control1, control2),
87+
Arrays.<Node>asList(test1, test2)));
88+
assertEquals(2, result.size());
89+
90+
// byNameAndText
91+
assertSame(control1, result.get(0).getKey());
92+
assertSame(test2, result.get(0).getValue());
93+
94+
// byName
95+
assertSame(control2, result.get(1).getKey());
96+
assertSame(test1, result.get(1).getValue());
97+
}
6898
}

0 commit comments

Comments
 (0)