node-sets.html (846B)
1 <!DOCTYPE html> 2 <link rel="help" href="https://www.w3.org/TR/1999/REC-xpath-19991116/#node-sets"> 3 <body> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <script> 7 function nodesetToSet(result) { 8 const set = new Set(); 9 for (let node = result.iterateNext(); node; node = result.iterateNext()) { 10 set.add(node); 11 } 12 return set; 13 } 14 15 test(() => { 16 const doc = document.implementation.createHTMLDocument(); 17 doc.documentElement.innerHTML = '<body><div></div></body>'; 18 const result = nodesetToSet(doc.evaluate('(.//div)[1]|.', doc.documentElement)); 19 assert_equals(result.size, 2); 20 assert_true(result.has(doc.documentElement)); 21 assert_true(result.has(doc.body.firstChild)); 22 }, '| operator should evaluate both sides of expressions with the same context node'); 23 </script> 24 </body>