<!
DOCTYPE html>
<
link rel=
"help" href=
"https://www.w3.org/TR/1999/REC-xpath-19991116/#predicates">
<
body>
<
script src=
"/resources/testharness.js"></
script>
<
script src=
"/resources/testharnessreport.js"></
script>
<
script>
function nodesetToSet(result) {
const set = new Set();
for (let node = result.iterateNext(); node; node = result.iterateNext()) {
set.add(node);
}
return set;
}
test(() => {
const doc = document.implementation.createHTMLDocument();
doc.
body.innerHTML =
'' +
'' +
'';
const result = nodesetToSet(doc.evaluate(
'(//table)[count((//table)[2]/descendant::th)-1]', doc.documentElement));
assert_equals(result.size, 1);
assert_true(result.has(doc.
body.lastChild));
},
'An expression in a predicate should not change the context node');
</
script>
</
body>