Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Side by Side Diff: third_party/WebKit/LayoutTests/imported/wpt/domxpath/xml_xpath_runner.html

Issue 2547023002: Import wpt@3c8896ae408c8fd594979da7c99970029e7856a7 (Closed)
Patch Set: Modify TestExpectations or download new baselines for tests. Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <!doctype html> 1 <!doctype html>
2 <title>XPath tests</title> 2 <title>XPath tests</title>
3 <script src='/resources/testharness.js'></script> 3 <script src='/resources/testharness.js'></script>
4 <script src='/resources/testharnessreport.js'></script> 4 <script src='/resources/testharnessreport.js'></script>
5 <script> 5 <script>
6 setup({ explicit_done: true }); 6 setup({ explicit_done: true });
7 7
8 function find_child_element(context, element) { 8 function find_child_element(context, element) {
9 for (var i = 0; i < context.childNodes.length; i++) { 9 for (var i = 0; i < context.childNodes.length; i++) {
10 var child = context.childNodes[i]; 10 var child = context.childNodes[i];
11 if (child.nodeType === Node.ELEMENT_NODE && child.tagName === element) 11 if (child.nodeType === Node.ELEMENT_NODE && child.tagName === element)
12 return child; 12 return child;
13 } 13 }
14 } 14 }
15 15
16 function xpath_test(test_el) { 16 function xpath_test(test_el) {
17 /* note this func adopts the tree! */ 17 /* note this func adopts the tree! */
18 var new_doc = document.implementation.createDocument("", ""); 18 var new_doc = document.implementation.createDocument("", "");
19 var xpath = find_child_element(test_el, "xpath"); 19 var xpath = find_child_element(test_el, "xpath");
20 var result = find_child_element(test_el, "result");
21 var namespace = find_child_element(result, "namespace");
22 var localname = find_child_element(result, "localname");
23 var nth = find_child_element(result, "nth");
20 var tree = find_child_element(test_el, "tree"); 24 var tree = find_child_element(test_el, "tree");
21 var actual_tree = new_doc.adoptNode(tree.firstElementChild); 25 var actual_tree = new_doc.adoptNode(tree.firstElementChild);
22 new_doc.appendChild(actual_tree); 26 new_doc.appendChild(actual_tree);
23 test(function() { 27 test(function() {
24 var result = new_doc.evaluate(xpath.textContent, // expression 28 var result = new_doc.evaluate(xpath.textContent, // expression
25 actual_tree, // context node 29 actual_tree, // context node
26 new_doc.createNSResolver(actual_tree), // reso lver 30 new_doc.createNSResolver(actual_tree), // reso lver
27 XPathResult.ANY_TYPE, // type 31 XPathResult.ANY_TYPE, // type
28 null); // result 32 null); // result
29 var matched = []; 33 var matched = [];
30 var cur; 34 var cur;
31 while ((cur = result.iterateNext()) !== null) { 35 while ((cur = result.iterateNext()) !== null) {
32 matched.push(cur); 36 matched.push(cur);
33 } 37 }
34 assert_equals(matched.length, 1, "Should match one node"); 38 assert_equals(matched.length, 1, "Should match one node");
39 var similar = new_doc.getElementsByTagNameNS(namespace.textContent,
40 localname.textContent);
41 assert_equals(matched[0], similar[nth.textContent]);
35 }); 42 });
36 } 43 }
37 44
38 var xhr = new XMLHttpRequest(); 45 var xhr = new XMLHttpRequest();
39 xhr.open("GET", "xml_xpath_tests.xml"); 46 xhr.open("GET", "xml_xpath_tests.xml");
40 xhr.onload = function(e) { 47 xhr.onload = function(e) {
41 var tests = xhr.responseXML.documentElement; 48 var tests = xhr.responseXML.documentElement;
42 for (var i = 0; i < tests.childNodes.length; i++) { 49 for (var i = 0; i < tests.childNodes.length; i++) {
43 var child = tests.childNodes[i]; 50 var child = tests.childNodes[i];
44 if (child.nodeType === Node.ELEMENT_NODE) { 51 if (child.nodeType === Node.ELEMENT_NODE) {
45 xpath_test(child); 52 xpath_test(child);
46 } 53 }
47 } 54 }
48 done(); 55 done();
49 }; 56 };
50 xhr.send(); 57 xhr.send();
51 </script> 58 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698