| Index: third_party/WebKit/LayoutTests/imported/wpt/dom/nodes/Node-isConnected.html
|
| diff --git a/third_party/WebKit/LayoutTests/imported/wpt/dom/nodes/Node-isConnected.html b/third_party/WebKit/LayoutTests/imported/wpt/dom/nodes/Node-isConnected.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..da0b460de44681ca009eaaa2b615732fe733577d
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/imported/wpt/dom/nodes/Node-isConnected.html
|
| @@ -0,0 +1,95 @@
|
| +<!DOCTYPE html>
|
| +<meta charset="utf-8">
|
| +<head>
|
| +<title>Node.prototype.isConnected</title>
|
| +<link rel=help href="https://dom.spec.whatwg.org/#dom-node-isconnected">
|
| +<script src="/resources/testharness.js"></script>
|
| +<script src="/resources/testharnessreport.js"></script>
|
| +</head>
|
| +<body>
|
| +<script>
|
| +
|
| +"use strict";
|
| +
|
| +test(function() {
|
| + var nodes = [document.createElement("div"),
|
| + document.createElement("div"),
|
| + document.createElement("div")];
|
| + checkNodes([], nodes);
|
| +
|
| + // Append nodes[0].
|
| + document.body.appendChild(nodes[0]);
|
| + checkNodes([nodes[0]],
|
| + [nodes[1], nodes[2]]);
|
| +
|
| + // Append nodes[1] and nodes[2] together.
|
| + nodes[1].appendChild(nodes[2]);
|
| + checkNodes([nodes[0]],
|
| + [nodes[1], nodes[2]]);
|
| +
|
| + nodes[0].appendChild(nodes[1]);
|
| + checkNodes(nodes, []);
|
| +
|
| + // Remove nodes[2].
|
| + nodes[2].remove();
|
| + checkNodes([nodes[0], nodes[1]],
|
| + [nodes[2]]);
|
| +
|
| + // Remove nodes[0] and nodes[1] together.
|
| + nodes[0].remove();
|
| + checkNodes([], nodes);
|
| +}, "Test with ordinary child nodes");
|
| +
|
| +test(function() {
|
| + var nodes = [document.createElement("iframe"),
|
| + document.createElement("iframe"),
|
| + document.createElement("iframe"),
|
| + document.createElement("iframe"),
|
| + document.createElement("div")];
|
| + var frames = [nodes[0],
|
| + nodes[1],
|
| + nodes[2],
|
| + nodes[3]];
|
| + checkNodes([], nodes);
|
| +
|
| + // Since we cannot append anything to the contentWindow of an iframe before it
|
| + // is appended to the main DOM tree, we append the iframes one after another.
|
| + document.body.appendChild(nodes[0]);
|
| + checkNodes([nodes[0]],
|
| + [nodes[1], nodes[2], nodes[3], nodes[4]]);
|
| +
|
| + frames[0].contentDocument.body.appendChild(nodes[1]);
|
| + checkNodes([nodes[0], nodes[1]],
|
| + [nodes[2], nodes[3], nodes[4]]);
|
| +
|
| + frames[1].contentDocument.body.appendChild(nodes[2]);
|
| + checkNodes([nodes[0], nodes[1], nodes[2]],
|
| + [nodes[3], nodes[4]]);
|
| +
|
| + frames[2].contentDocument.body.appendChild(nodes[3]);
|
| + checkNodes([nodes[0], nodes[1], nodes[2], nodes[3]],
|
| + [nodes[4]]);
|
| +
|
| + frames[3].contentDocument.body.appendChild(nodes[4]);
|
| + checkNodes(nodes, []);
|
| +
|
| + frames[3].remove();
|
| + // Since node[4] is still under the doument of frame[3], it's still connected.
|
| + checkNodes([nodes[0], nodes[1], nodes[2], nodes[4]],
|
| + [nodes[3]]);
|
| +
|
| + frames[0].remove();
|
| + // Since node[1] and node[2] are still under the doument of frame[0], they are
|
| + // still connected.
|
| + checkNodes([nodes[1], nodes[2], nodes[4]],
|
| + [nodes[0], nodes[3]]);
|
| +}, "Test with iframes");
|
| +
|
| +// This helper function is used to check whether nodes should be connected.
|
| +function checkNodes(aConnectedNodes, aDisconnectedNodes) {
|
| + aConnectedNodes.forEach(node => assert_true(node.isConnected));
|
| + aDisconnectedNodes.forEach(node => assert_false(node.isConnected));
|
| +}
|
| +
|
| +</script>
|
| +</body>
|
|
|