Index: third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/nodes/Node-removeChild.html |
diff --git a/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/nodes/Node-removeChild.html b/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/nodes/Node-removeChild.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..894f5ec546f0b037bcfdd548f89f5e6a57ea3deb |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/nodes/Node-removeChild.html |
@@ -0,0 +1,54 @@ |
+<!DOCTYPE html> |
+<title>Node.removeChild</title> |
+<script src="../../../../resources/testharness.js"></script> |
+<script src="../../../../resources/testharnessreport.js"></script> |
+<script src="creators.js"></script> |
+<div id="log"></div> |
+<iframe src=about:blank></iframe> |
+<script> |
+var documents = [ |
+ [function() { return document }, "the main document"], |
+ [function() { return frames[0].document }, "a frame document"], |
+ [function() { return document.implementation.createHTMLDocument() }, |
+ "a synthetic document"], |
+]; |
+ |
+documents.forEach(function(d) { |
+ var get = d[0], description = d[1] |
+ for (var p in creators) { |
+ var creator = creators[p]; |
+ test(function() { |
+ var doc = get(); |
+ var s = doc[creator]("a") |
+ assert_equals(s.ownerDocument, doc) |
+ assert_throws("NOT_FOUND_ERR", function() { document.body.removeChild(s) }) |
+ assert_equals(s.ownerDocument, doc) |
+ }, "Passing a detached " + p + " from " + description + |
+ " to removeChild should not affect it.") |
+ |
+ test(function() { |
+ var doc = get(); |
+ var s = doc[creator]("b") |
+ doc.documentElement.appendChild(s) |
+ assert_equals(s.ownerDocument, doc) |
+ assert_throws("NOT_FOUND_ERR", function() { document.body.removeChild(s) }) |
+ assert_equals(s.ownerDocument, doc) |
+ }, "Passing a non-detached " + p + " from " + description + |
+ " to removeChild should not affect it.") |
+ |
+ test(function() { |
+ var doc = get(); |
+ var s = doc[creator]("test") |
+ doc.body.appendChild(s) |
+ assert_equals(s.ownerDocument, doc) |
+ assert_throws("NOT_FOUND_ERR", function() { s.removeChild(doc) }) |
+ }, "Calling removeChild on a " + p + " from " + description + |
+ " with no children should throw NOT_FOUND_ERR.") |
+ } |
+}); |
+ |
+test(function() { |
+ assert_throws(new TypeError(), function() { document.body.removeChild(null) }) |
+ assert_throws(new TypeError(), function() { document.body.removeChild({'a':'b'}) }) |
+}, "Passing a value that is not a Node reference to removeChild should throw TypeError.") |
+</script> |