| <!DOCTYPE html> | |
| <link rel="help" href="https://www.w3.org/TR/1999/REC-xpath-19991116/#booleans"> | |
| <body> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script src="helpers.js"></script> | |
| <div id="context"></div> | |
| <script> | |
| test(() => { | |
| const context = document.querySelector('#context'); | |
| context.innerHTML = '<span></span><span></span><span></span><br><br>'; | |
| assert_true(evaluateBoolean('(./span)[4] or ./br[2]', context)); | |
| }, '"or" operator depending on the context node'); | |
| test(() => { | |
| const context = document.querySelector('#context'); | |
| context.innerHTML = '<span></span><span></span><span></span><br><br>'; | |
| assert_true(evaluateBoolean('count((./span)[3]) = count(./br[2])', context)); | |
| }, '"=" operator depending on the context node'); | |
| test(() => { | |
| const context = document.querySelector('#context'); | |
| context.innerHTML = '<span></span><span></span><span></span><br><br>'; | |
| assert_false(evaluateBoolean('count((./span)[3]) != count(./br[2])', context)); | |
| }, '"!=" operator depending on the context node'); | |
| test(() => { | |
| const context = document.querySelector('#context'); | |
| context.innerHTML = '<span></span><span></span><span></span><br><br>'; | |
| assert_true(evaluateBoolean('count((./span)[3]) < count(./br)', context)); | |
| }, '"<" operator depending on the context node'); | |
| test(() => { | |
| const context = document.querySelector('#context'); | |
| context.innerHTML = '<span></span><span></span><span></span><br><br>'; | |
| assert_false(evaluateBoolean('count((./span)[3]) > count(./br[2])', context)); | |
| }, '">" operator depending on the context node'); | |
| test(() => { | |
| const context = document.querySelector('#context'); | |
| context.innerHTML = '<span></span><span></span><span></span><br><br>'; | |
| assert_false(evaluateBoolean('count((./span)[3]) >= count(./br)', context)); | |
| }, '">=" operator depending on the context node'); | |
| test(() => { | |
| const context = document.querySelector('#context'); | |
| context.innerHTML = '<span></span><span></span><span></span><br><br>'; | |
| assert_true(evaluateBoolean('count((./span)[3]) <= count(./br[2])', context)); | |
| }, '"<=" operator depending on the context node'); | |
| </script> | |
| </body> |