diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /testing/web-platform/tests/domxpath/xml_xpath_runner.html | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'testing/web-platform/tests/domxpath/xml_xpath_runner.html')
-rw-r--r-- | testing/web-platform/tests/domxpath/xml_xpath_runner.html | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/testing/web-platform/tests/domxpath/xml_xpath_runner.html b/testing/web-platform/tests/domxpath/xml_xpath_runner.html new file mode 100644 index 000000000..a9bbb1588 --- /dev/null +++ b/testing/web-platform/tests/domxpath/xml_xpath_runner.html @@ -0,0 +1,51 @@ +<!doctype html> +<title>XPath tests</title> +<script src='/resources/testharness.js'></script> +<script src='/resources/testharnessreport.js'></script> +<script> +setup({ explicit_done: true }); + +function find_child_element(context, element) { + for (var i = 0; i < context.childNodes.length; i++) { + var child = context.childNodes[i]; + if (child.nodeType === Node.ELEMENT_NODE && child.tagName === element) + return child; + } +} + +function xpath_test(test_el) { + /* note this func adopts the tree! */ + var new_doc = document.implementation.createDocument("", ""); + var xpath = find_child_element(test_el, "xpath"); + var tree = find_child_element(test_el, "tree"); + var actual_tree = new_doc.adoptNode(tree.firstElementChild); + new_doc.appendChild(actual_tree); + test(function() { + var result = new_doc.evaluate(xpath.textContent, // expression + actual_tree, // context node + new_doc.createNSResolver(actual_tree), // resolver + XPathResult.ANY_TYPE, // type + null); // result + var matched = []; + var cur; + while ((cur = result.iterateNext()) !== null) { + matched.push(cur); + } + assert_equals(matched.length, 1, "Should match one node"); + }); +} + +var xhr = new XMLHttpRequest(); +xhr.open("GET", "xml_xpath_tests.xml"); +xhr.onload = function(e) { + var tests = xhr.responseXML.documentElement; + for (var i = 0; i < tests.childNodes.length; i++) { + var child = tests.childNodes[i]; + if (child.nodeType === Node.ELEMENT_NODE) { + xpath_test(child); + } + } + done(); +}; +xhr.send(); +</script> |