| OLD | NEW |
| (Empty) |
| 1 <!DOCTYPE html> | |
| 2 <title>Node.removeChild</title> | |
| 3 <script src="../../../../resources/testharness.js"></script> | |
| 4 <script src="../../../../resources/testharnessreport.js"></script> | |
| 5 <script src="creators.js"></script> | |
| 6 <div id="log"></div> | |
| 7 <iframe src=about:blank></iframe> | |
| 8 <script> | |
| 9 var documents = [ | |
| 10 [function() { return document }, "the main document"], | |
| 11 [function() { return frames[0].document }, "a frame document"], | |
| 12 [function() { return document.implementation.createHTMLDocument() }, | |
| 13 "a synthetic document"], | |
| 14 ]; | |
| 15 | |
| 16 documents.forEach(function(d) { | |
| 17 var get = d[0], description = d[1] | |
| 18 for (var p in creators) { | |
| 19 var creator = creators[p]; | |
| 20 test(function() { | |
| 21 var doc = get(); | |
| 22 var s = doc[creator]("a") | |
| 23 assert_equals(s.ownerDocument, doc) | |
| 24 assert_throws("NOT_FOUND_ERR", function() { document.body.removeChild(s) }
) | |
| 25 assert_equals(s.ownerDocument, doc) | |
| 26 }, "Passing a detached " + p + " from " + description + | |
| 27 " to removeChild should not affect it.") | |
| 28 | |
| 29 test(function() { | |
| 30 var doc = get(); | |
| 31 var s = doc[creator]("b") | |
| 32 doc.documentElement.appendChild(s) | |
| 33 assert_equals(s.ownerDocument, doc) | |
| 34 assert_throws("NOT_FOUND_ERR", function() { document.body.removeChild(s) }
) | |
| 35 assert_equals(s.ownerDocument, doc) | |
| 36 }, "Passing a non-detached " + p + " from " + description + | |
| 37 " to removeChild should not affect it.") | |
| 38 | |
| 39 test(function() { | |
| 40 var doc = get(); | |
| 41 var s = doc[creator]("test") | |
| 42 doc.body.appendChild(s) | |
| 43 assert_equals(s.ownerDocument, doc) | |
| 44 assert_throws("NOT_FOUND_ERR", function() { s.removeChild(doc) }) | |
| 45 }, "Calling removeChild on a " + p + " from " + description + | |
| 46 " with no children should throw NOT_FOUND_ERR.") | |
| 47 } | |
| 48 }); | |
| 49 | |
| 50 test(function() { | |
| 51 assert_throws(new TypeError(), function() { document.body.removeChild(null) }) | |
| 52 assert_throws(new TypeError(), function() { document.body.removeChild({'a':'b'
}) }) | |
| 53 }, "Passing a value that is not a Node reference to removeChild should throw Typ
eError.") | |
| 54 </script> | |
| OLD | NEW |