Node-baseURI.html (1691B)
1 <!DOCTYPE html> 2 <title>Node.baseURI</title> 3 <script src="/resources/testharness.js"></script> 4 <script src="/resources/testharnessreport.js"></script> 5 <div id="log"></div> 6 <script> 7 const elementTests = [ 8 { 9 name: "elements belonging to document", 10 creator: () => { 11 const element = document.createElement("div"); 12 document.body.appendChild(element); 13 return element; 14 } 15 }, 16 { 17 name: "elements unassigned to document", 18 creator: () => document.createElement("div") 19 }, 20 { 21 name: "elements belonging to document fragments", 22 creator: () => { 23 const fragment = document.createDocumentFragment(); 24 const element = document.createElement("div"); 25 fragment.appendChild(element); 26 return element; 27 } 28 }, 29 { 30 name: "elements belonging to document fragments in document", 31 creator: () => { 32 const fragment = document.createDocumentFragment(); 33 const element = document.createElement("div"); 34 fragment.appendChild(element); 35 document.body.appendChild(fragment); 36 return element; 37 } 38 }, 39 ]; 40 41 const attributeTests = [ 42 { 43 name: "attributes unassigned to element", 44 creator: () => document.createAttribute("class") 45 }, 46 ...elementTests.map(({ name, creator }) => ({ 47 name: "attributes in " + name, 48 creator: () => { 49 const element = creator(); 50 element.setAttribute("class", "abc"); 51 return element.getAttributeNode("class"); 52 } 53 })) 54 ]; 55 56 for (const { name, creator } of [...elementTests, ...attributeTests]) { 57 test(function() { 58 const node = creator(); 59 assert_equals(node.baseURI, document.URL); 60 }, `For ${name}, baseURI should be document URL`) 61 } 62 </script>