OLD | NEW |
(Empty) | |
| 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(new TypeError(), function() { node.appendChild(null) }) |
| 15 }, "Appending null to a " + desc) |
| 16 |
| 17 // Pre-insert step 1. |
| 18 test(function() { |
| 19 assert_throws("HIERARCHY_REQUEST_ERR", function() { node.appendChild(documen
t.createTextNode("fail")) }) |
| 20 }, "Appending to a " + desc) |
| 21 } |
| 22 |
| 23 // WebIDL. |
| 24 test(function() { |
| 25 assert_throws(new TypeError(), function() { document.body.appendChild(null) }) |
| 26 assert_throws(new 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("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> |
OLD | NEW |