tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

Document-importNode.html (3015B)


      1 <!DOCTYPE html>
      2 <meta charset=utf-8>
      3 <title>Document.importNode</title>
      4 <link rel=help href="https://dom.spec.whatwg.org/#dom-document-importnode">
      5 <script src="/resources/testharness.js"></script>
      6 <script src="/resources/testharnessreport.js"></script>
      7 <div id="log"></div>
      8 <script>
      9 test(function() {
     10  var doc = document.implementation.createHTMLDocument("Title");
     11  var div = doc.body.appendChild(doc.createElement("div"));
     12  div.appendChild(doc.createElement("span"));
     13  assert_equals(div.ownerDocument, doc);
     14  assert_equals(div.firstChild.ownerDocument, doc);
     15  var newDiv = document.importNode(div);
     16  assert_equals(div.ownerDocument, doc);
     17  assert_equals(div.firstChild.ownerDocument, doc);
     18  assert_equals(newDiv.ownerDocument, document);
     19  assert_equals(newDiv.firstChild, null);
     20 }, "No 'deep' argument.")
     21 test(function() {
     22  var doc = document.implementation.createHTMLDocument("Title");
     23  var div = doc.body.appendChild(doc.createElement("div"));
     24  div.appendChild(doc.createElement("span"));
     25  assert_equals(div.ownerDocument, doc);
     26  assert_equals(div.firstChild.ownerDocument, doc);
     27  var newDiv = document.importNode(div, undefined);
     28  assert_equals(div.ownerDocument, doc);
     29  assert_equals(div.firstChild.ownerDocument, doc);
     30  assert_equals(newDiv.ownerDocument, document);
     31  assert_equals(newDiv.firstChild, null);
     32 }, "Undefined 'deep' argument.")
     33 test(function() {
     34  var doc = document.implementation.createHTMLDocument("Title");
     35  var div = doc.body.appendChild(doc.createElement("div"));
     36  div.appendChild(doc.createElement("span"));
     37  assert_equals(div.ownerDocument, doc);
     38  assert_equals(div.firstChild.ownerDocument, doc);
     39  var newDiv = document.importNode(div, true);
     40  assert_equals(div.ownerDocument, doc);
     41  assert_equals(div.firstChild.ownerDocument, doc);
     42  assert_equals(newDiv.ownerDocument, document);
     43  assert_equals(newDiv.firstChild.ownerDocument, document);
     44 }, "True 'deep' argument.")
     45 test(function() {
     46  var doc = document.implementation.createHTMLDocument("Title");
     47  var div = doc.body.appendChild(doc.createElement("div"));
     48  div.appendChild(doc.createElement("span"));
     49  assert_equals(div.ownerDocument, doc);
     50  assert_equals(div.firstChild.ownerDocument, doc);
     51  var newDiv = document.importNode(div, false);
     52  assert_equals(div.ownerDocument, doc);
     53  assert_equals(div.firstChild.ownerDocument, doc);
     54  assert_equals(newDiv.ownerDocument, document);
     55  assert_equals(newDiv.firstChild, null);
     56 }, "False 'deep' argument.")
     57 
     58 test(function() {
     59  let doc = document.implementation.createHTMLDocument("Title");
     60  doc.body.setAttributeNS("http://example.com/", "p:name", "value");
     61  let originalAttr = doc.body.getAttributeNodeNS("http://example.com/", "name");
     62  let imported = document.importNode(originalAttr, true);
     63  assert_equals(imported.prefix, originalAttr.prefix);
     64  assert_equals(imported.namespaceURI, originalAttr.namespaceURI);
     65  assert_equals(imported.localName, originalAttr.localName);
     66 }, "Import an Attr node with namespace/prefix correctly.");
     67 </script>