| <!DOCTYPE html> |
| <link rel="help" href="https://www.w3.org/TR/1999/REC-xpath-19991116/#node-sets"> |
| <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.documentElement.innerHTML = '<body><div></div></body>'; |
| const result = nodesetToSet(doc.evaluate('(.//div)[1]|.', doc.documentElement)); |
| assert_equals(result.size, 2); |
| assert_true(result.has(doc.documentElement)); |
| assert_true(result.has(doc.body.firstChild)); |
| }, '| operator should evaluate both sides of expressions with the same context node'); |
| </script> |
| </body> |