| <!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_dom("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> |