Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Unified Diff: third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/nodes/Node-replaceChild.html

Issue 1988983002: Move the dom directory from web-platform-tests/ to wpt/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/nodes/Node-replaceChild.html
diff --git a/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/nodes/Node-replaceChild.html b/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/nodes/Node-replaceChild.html
deleted file mode 100644
index 4fbdad5573031b0dd457ff252eca3bbea66c6ccb..0000000000000000000000000000000000000000
--- a/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/nodes/Node-replaceChild.html
+++ /dev/null
@@ -1,345 +0,0 @@
-<!DOCTYPE html>
-<meta charset=utf-8>
-<title>Node.replaceChild</title>
-<script src="../../../../resources/testharness.js"></script>
-<script src="../../../../resources/testharnessreport.js"></script>
-<body><a><b></b><c></c></a>
-<div id="log"></div>
-<script>
-// IDL.
-test(function() {
- var a = document.createElement("div");
- assert_throws(new TypeError(), function() {
- a.replaceChild(null, null);
- });
-
- var b = document.createElement("div");
- assert_throws(new TypeError(), function() {
- a.replaceChild(b, null);
- });
- assert_throws(new TypeError(), function() {
- a.replaceChild(null, b);
- });
-}, "Passing null to replaceChild should throw a TypeError.")
-
-// Step 1.
-test(function() {
- var a = document.createElement("div");
- var b = document.createElement("div");
- var c = document.createElement("div");
- assert_throws("NotFoundError", function() {
- a.replaceChild(b, c);
- });
-
- var d = document.createElement("div");
- d.appendChild(b);
- assert_throws("NotFoundError", function() {
- a.replaceChild(b, c);
- });
- assert_throws("NotFoundError", function() {
- a.replaceChild(b, a);
- });
-}, "If child's parent is not the context node, a NotFoundError exception should be thrown")
-test(function() {
- var nodes = [
- document.implementation.createDocumentType("html", "", ""),
- document.createTextNode("text"),
- document.implementation.createDocument(null, "foo", null).createProcessingInstruction("foo", "bar"),
- document.createComment("comment")
- ];
-
- var a = document.createElement("div");
- var b = document.createElement("div");
- nodes.forEach(function(node) {
- assert_throws("HierarchyRequestError", function() {
- node.replaceChild(a, b);
- });
- });
-}, "If the context node is not a node that can contain children, a NotFoundError exception should be thrown")
-
-// Step 2.
-test(function() {
- var a = document.createElement("div");
- var b = document.createElement("div");
-
- assert_throws("HierarchyRequestError", function() {
- a.replaceChild(a, a);
- });
-
- a.appendChild(b);
- assert_throws("HierarchyRequestError", function() {
- a.replaceChild(a, b);
- });
-
- var c = document.createElement("div");
- c.appendChild(a);
- assert_throws("HierarchyRequestError", function() {
- a.replaceChild(c, b);
- });
-}, "If node is an inclusive ancestor of the context node, a HierarchyRequestError should be thrown.")
-
-// Step 3.1.
-test(function() {
- var doc = document.implementation.createHTMLDocument("title");
- var doc2 = document.implementation.createHTMLDocument("title2");
- assert_throws("HierarchyRequestError", function() {
- doc.replaceChild(doc2, doc.documentElement);
- });
-
- assert_throws("HierarchyRequestError", function() {
- doc.replaceChild(doc.createTextNode("text"), doc.documentElement);
- });
-}, "If the context node is a document, inserting a document or text node should throw a HierarchyRequestError.")
-
-// Step 3.2.1.
-test(function() {
- var doc = document.implementation.createHTMLDocument("title");
-
- var df = doc.createDocumentFragment();
- df.appendChild(doc.createElement("a"));
- df.appendChild(doc.createElement("b"));
- assert_throws("HierarchyRequestError", function() {
- doc.replaceChild(df, doc.documentElement);
- });
-
- df = doc.createDocumentFragment();
- df.appendChild(doc.createTextNode("text"));
- assert_throws("HierarchyRequestError", function() {
- doc.replaceChild(df, doc.documentElement);
- });
-
- df = doc.createDocumentFragment();
- df.appendChild(doc.createComment("comment"));
- df.appendChild(doc.createTextNode("text"));
- assert_throws("HierarchyRequestError", function() {
- doc.replaceChild(df, doc.documentElement);
- });
-}, "If the context node is a document, inserting a DocumentFragment that contains a text node or too many elements should throw a HierarchyRequestError.")
-test(function() {
- var doc = document.implementation.createHTMLDocument("title");
- doc.removeChild(doc.documentElement);
-
- var df = doc.createDocumentFragment();
- df.appendChild(doc.createElement("a"));
- df.appendChild(doc.createElement("b"));
- assert_throws("HierarchyRequestError", function() {
- doc.replaceChild(df, doc.doctype);
- });
-}, "If the context node is a document (without element children), inserting a DocumentFragment that contains multiple elements should throw a HierarchyRequestError.")
-
-// Step 3.2.2.
-test(function() {
- // The context node has an element child that is not /child/.
- var doc = document.implementation.createHTMLDocument("title");
- var comment = doc.appendChild(doc.createComment("foo"));
- assert_array_equals(doc.childNodes, [doc.doctype, doc.documentElement, comment]);
-
- var df = doc.createDocumentFragment();
- df.appendChild(doc.createElement("a"));
- assert_throws("HierarchyRequestError", function() {
- doc.replaceChild(df, comment);
- });
- assert_throws("HierarchyRequestError", function() {
- doc.replaceChild(df, doc.doctype);
- });
-}, "If the context node is a document, inserting a DocumentFragment with an element if there already is an element child should throw a HierarchyRequestError.")
-test(function() {
- // A doctype is following /child/.
- var doc = document.implementation.createHTMLDocument("title");
- var comment = doc.insertBefore(doc.createComment("foo"), doc.firstChild);
- doc.removeChild(doc.documentElement);
- assert_array_equals(doc.childNodes, [comment, doc.doctype]);
-
- var df = doc.createDocumentFragment();
- df.appendChild(doc.createElement("a"));
- assert_throws("HierarchyRequestError", function() {
- doc.replaceChild(df, comment);
- });
-}, "If the context node is a document, inserting a DocumentFragment with an element before the doctype should throw a HierarchyRequestError.")
-
-// Step 3.3.
-test(function() {
- var doc = document.implementation.createHTMLDocument("title");
- var comment = doc.appendChild(doc.createComment("foo"));
- assert_array_equals(doc.childNodes, [doc.doctype, doc.documentElement, comment]);
-
- var a = doc.createElement("a");
- assert_throws("HierarchyRequestError", function() {
- doc.replaceChild(a, comment);
- });
- assert_throws("HierarchyRequestError", function() {
- doc.replaceChild(a, doc.doctype);
- });
-}, "If the context node is a document, inserting an element if there already is an element child should throw a HierarchyRequestError.")
-test(function() {
- var doc = document.implementation.createHTMLDocument("title");
- var comment = doc.insertBefore(doc.createComment("foo"), doc.firstChild);
- doc.removeChild(doc.documentElement);
- assert_array_equals(doc.childNodes, [comment, doc.doctype]);
-
- var a = doc.createElement("a");
- assert_throws("HierarchyRequestError", function() {
- doc.replaceChild(a, comment);
- });
-}, "If the context node is a document, inserting an element before the doctype should throw a HierarchyRequestError.")
-
-// Step 3.4.
-test(function() {
- var doc = document.implementation.createHTMLDocument("title");
- var comment = doc.insertBefore(doc.createComment("foo"), doc.firstChild);
- assert_array_equals(doc.childNodes, [comment, doc.doctype, doc.documentElement]);
-
- var doctype = document.implementation.createDocumentType("html", "", "");
- assert_throws("HierarchyRequestError", function() {
- doc.replaceChild(doctype, comment);
- });
- assert_throws("HierarchyRequestError", function() {
- doc.replaceChild(doctype, doc.documentElement);
- });
-}, "If the context node is a document, inserting a doctype if there already is a doctype child should throw a HierarchyRequestError.")
-test(function() {
- var doc = document.implementation.createHTMLDocument("title");
- var comment = doc.appendChild(doc.createComment("foo"));
- doc.removeChild(doc.doctype);
- assert_array_equals(doc.childNodes, [doc.documentElement, comment]);
-
- var doctype = document.implementation.createDocumentType("html", "", "");
- assert_throws("HierarchyRequestError", function() {
- doc.replaceChild(doctype, comment);
- });
-}, "If the context node is a document, inserting a doctype after the document element should throw a HierarchyRequestError.")
-
-// Step 4.
-test(function() {
- var df = document.createDocumentFragment();
- var a = df.appendChild(document.createElement("a"));
-
- var doc = document.implementation.createHTMLDocument("title");
- assert_throws("HierarchyRequestError", function() {
- df.replaceChild(doc, a);
- });
-
- var doctype = document.implementation.createDocumentType("html", "", "");
- assert_throws("HierarchyRequestError", function() {
- df.replaceChild(doctype, a);
- });
-}, "If the context node is a DocumentFragment, inserting a document or a doctype should throw a HierarchyRequestError.")
-test(function() {
- var el = document.createElement("div");
- var a = el.appendChild(document.createElement("a"));
-
- var doc = document.implementation.createHTMLDocument("title");
- assert_throws("HierarchyRequestError", function() {
- el.replaceChild(doc, a);
- });
-
- var doctype = document.implementation.createDocumentType("html", "", "");
- assert_throws("HierarchyRequestError", function() {
- el.replaceChild(doctype, a);
- });
-}, "If the context node is an element, inserting a document or a doctype should throw a HierarchyRequestError.")
-
-// Step 6.
-test(function() {
- var a = document.createElement("div");
- var b = document.createElement("div");
- var c = document.createElement("div");
- a.appendChild(b);
- a.appendChild(c);
- assert_array_equals(a.childNodes, [b, c]);
- assert_equals(a.replaceChild(c, b), b);
- assert_array_equals(a.childNodes, [c]);
-}, "Replacing a node with its next sibling should work (2 children)");
-test(function() {
- var a = document.createElement("div");
- var b = document.createElement("div");
- var c = document.createElement("div");
- var d = document.createElement("div");
- var e = document.createElement("div");
- a.appendChild(b);
- a.appendChild(c);
- a.appendChild(d);
- a.appendChild(e);
- assert_array_equals(a.childNodes, [b, c, d, e]);
- assert_equals(a.replaceChild(d, c), c);
- assert_array_equals(a.childNodes, [b, d, e]);
-}, "Replacing a node with its next sibling should work (4 children)");
-test(function() {
- var a = document.createElement("div");
- var b = document.createElement("div");
- var c = document.createElement("div");
- a.appendChild(b);
- a.appendChild(c);
- assert_array_equals(a.childNodes, [b, c]);
- assert_equals(a.replaceChild(b, b), b);
- assert_array_equals(a.childNodes, [b, c]);
- assert_equals(a.replaceChild(c, c), c);
- assert_array_equals(a.childNodes, [b, c]);
-}, "Replacing a node with itself should not move the node");
-
-// Step 7.
-test(function() {
- var doc = document.implementation.createHTMLDocument("title");
- var doctype = doc.doctype;
- assert_array_equals(doc.childNodes, [doctype, doc.documentElement]);
-
- var doc2 = document.implementation.createHTMLDocument("title2");
- var doctype2 = doc2.doctype;
- assert_array_equals(doc2.childNodes, [doctype2, doc2.documentElement]);
-
- doc.replaceChild(doc2.doctype, doc.doctype);
- assert_array_equals(doc.childNodes, [doctype2, doc.documentElement]);
- assert_array_equals(doc2.childNodes, [doc2.documentElement]);
- assert_equals(doctype.parentNode, null);
- assert_equals(doctype.ownerDocument, doc);
- assert_equals(doctype2.parentNode, doc);
- assert_equals(doctype2.ownerDocument, doc);
-}, "If the context node is a document, inserting a new doctype should work.")
-
-// Bugs.
-test(function() {
- var doc = document.implementation.createHTMLDocument("title");
- var df = doc.createDocumentFragment();
- var a = df.appendChild(doc.createElement("a"));
- assert_equals(doc.documentElement, doc.replaceChild(df, doc.documentElement));
- assert_array_equals(doc.childNodes, [doc.doctype, a]);
-}, "Replacing the document element with a DocumentFragment containing a single element should work.");
-test(function() {
- var doc = document.implementation.createHTMLDocument("title");
- var df = doc.createDocumentFragment();
- var a = df.appendChild(doc.createComment("a"));
- var b = df.appendChild(doc.createElement("b"));
- var c = df.appendChild(doc.createComment("c"));
- assert_equals(doc.documentElement, doc.replaceChild(df, doc.documentElement));
- assert_array_equals(doc.childNodes, [doc.doctype, a, b, c]);
-}, "Replacing the document element with a DocumentFragment containing a single element and comments should work.");
-test(function() {
- var doc = document.implementation.createHTMLDocument("title");
- var a = doc.createElement("a");
- assert_equals(doc.documentElement, doc.replaceChild(a, doc.documentElement));
- assert_array_equals(doc.childNodes, [doc.doctype, a]);
-}, "Replacing the document element with a single element should work.");
-test(function() {
- document.addEventListener("DOMNodeRemoved", function(e) {
- document.body.appendChild(document.createElement("x"));
- }, false);
- var a = document.body.firstChild, b = a.firstChild, c = b.nextSibling;
- assert_equals(a.replaceChild(c, b), b);
- assert_equals(b.parentNode, null);
- assert_equals(a.firstChild, c);
- assert_equals(c.parentNode, a);
-}, "replaceChild should work in the presence of mutation events.")
-test(function() {
- var TEST_ID = "findme";
- var gBody = document.getElementsByTagName("body")[0];
- var parent = document.createElement("div");
- gBody.appendChild(parent);
- var child = document.createElement("div");
- parent.appendChild(child);
- var df = document.createDocumentFragment();
- var fragChild = df.appendChild(document.createElement("div"));
- fragChild.setAttribute("id", TEST_ID);
- parent.replaceChild(df, child);
- assert_equals(document.getElementById(TEST_ID), fragChild, "should not be null");
-}, "Replacing an element with a DocumentFragment should allow a child of the DocumentFragment to be found by Id.")
-</script>

Powered by Google App Engine
This is Rietveld 408576698