| <!DOCTYPE html> |
| <meta charset=utf-8> |
| <title>Node.appendChild applied to CharacterData</title> |
| <link rel=help href="https://dom.spec.whatwg.org/#dom-node-appendchild"> |
| <link rel=help href="https://dom.spec.whatwg.org/#introduction-to-the-dom"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <div id="log"></div> |
| <script> |
| function create(type) { |
| switch (type) { |
| case "Text": return document.createTextNode("test"); break; |
| case "Comment": return document.createComment("test"); break; |
| case "ProcessingInstruction": return document.createProcessingInstruction("target", "test"); break; |
| } |
| } |
| |
| function testNode(type1, type2) { |
| test(function() { |
| var node1 = create(type1); |
| var node2 = create(type2); |
| assert_throws("HierarchyRequestError", function () { |
| node1.appendChild(node2); |
| }, "CharacterData type " + type1 + " must not have children"); |
| }, type1 + ".appendChild(" + type2 + ")"); |
| } |
| |
| var types = ["Text", "Comment", "ProcessingInstruction"]; |
| types.forEach(function(type1) { |
| types.forEach(function(type2) { |
| testNode(type1, type2); |
| }); |
| }); |
| </script> |