tor-browser

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

Node-appendChild.html (1923B)


      1 <!DOCTYPE html>
      2 <meta charset=utf-8>
      3 <title>Node.appendChild</title>
      4 <link rel=help href="https://dom.spec.whatwg.org/#dom-node-appendchild">
      5 <script src="/resources/testharness.js"></script>
      6 <script src="/resources/testharnessreport.js"></script>
      7 <div id="log"></div>
      8 <iframe src=about:blank></iframe>
      9 <script>
     10 // TODO: Exhaustive tests
     11 function testLeaf(node, desc) {
     12  // WebIDL.
     13  test(function() {
     14    assert_throws_js(TypeError, function() { node.appendChild(null) })
     15  }, "Appending null to a " + desc)
     16 
     17  // Pre-insert step 1.
     18  test(function() {
     19    assert_throws_dom("HIERARCHY_REQUEST_ERR", function() { node.appendChild(document.createTextNode("fail")) })
     20  }, "Appending to a " + desc)
     21 }
     22 
     23 // WebIDL.
     24 test(function() {
     25  assert_throws_js(TypeError, function() { document.body.appendChild(null) })
     26  assert_throws_js(TypeError, function() { document.body.appendChild({'a':'b'}) })
     27 }, "WebIDL tests")
     28 
     29 // WebIDL and pre-insert step 1.
     30 test(function() {
     31  testLeaf(document.createTextNode("Foo"), "text node")
     32  testLeaf(document.createComment("Foo"), "comment")
     33  testLeaf(document.doctype, "doctype")
     34 }, "Appending to a leaf node.")
     35 
     36 // Pre-insert step 5.
     37 test(function() {
     38  var frameDoc = frames[0].document
     39  assert_throws_dom("HIERARCHY_REQUEST_ERR", function() { document.body.appendChild(frameDoc) })
     40 }, "Appending a document")
     41 
     42 // Pre-insert step 8.
     43 test(function() {
     44  var frameDoc = frames[0].document
     45  var s = frameDoc.createElement("a")
     46  assert_equals(s.ownerDocument, frameDoc)
     47  document.body.appendChild(s)
     48  assert_equals(s.ownerDocument, document)
     49 }, "Adopting an orphan")
     50 test(function() {
     51  var frameDoc = frames[0].document
     52  var s = frameDoc.createElement("b")
     53  assert_equals(s.ownerDocument, frameDoc)
     54  frameDoc.body.appendChild(s)
     55  assert_equals(s.ownerDocument, frameDoc)
     56  document.body.appendChild(s)
     57  assert_equals(s.ownerDocument, document)
     58 }, "Adopting a non-orphan")
     59 </script>