| <!doctype html> |
| <meta charset=utf-8> |
| <title>Document.adoptNode</title> |
| <link rel=help href="https://dom.spec.whatwg.org/#dom-document-adoptnode"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <div id="log"></div> |
| <!--creates an element with local name "x<": --><x<>x</x<> |
| <script> |
| test(function() { |
| var y = document.getElementsByTagName("x<")[0] |
| var child = y.firstChild |
| assert_equals(y.parentNode, document.body) |
| assert_equals(y.ownerDocument, document) |
| assert_equals(document.adoptNode(y), y) |
| assert_equals(y.parentNode, null) |
| assert_equals(y.firstChild, child) |
| assert_equals(y.ownerDocument, document) |
| assert_equals(child.ownerDocument, document) |
| var doc = document.implementation.createDocument(null, null, null) |
| assert_equals(doc.adoptNode(y), y) |
| assert_equals(y.parentNode, null) |
| assert_equals(y.firstChild, child) |
| assert_equals(y.ownerDocument, doc) |
| assert_equals(child.ownerDocument, doc) |
| }, "Adopting an Element called 'x<' should work.") |
| |
| test(function() { |
| var x = document.createElement(":good:times:") |
| assert_equals(document.adoptNode(x), x); |
| var doc = document.implementation.createDocument(null, null, null) |
| assert_equals(doc.adoptNode(x), x) |
| assert_equals(x.parentNode, null) |
| assert_equals(x.ownerDocument, doc) |
| }, "Adopting an Element called ':good:times:' should work.") |
| |
| test(function() { |
| var doctype = document.doctype; |
| assert_equals(doctype.parentNode, document) |
| assert_equals(doctype.ownerDocument, document) |
| assert_equals(document.adoptNode(doctype), doctype) |
| assert_equals(doctype.parentNode, null) |
| assert_equals(doctype.ownerDocument, document) |
| }, "Explicitly adopting a DocumentType should work.") |
| |
| test(function() { |
| var doc = document.implementation.createDocument(null, null, null) |
| assert_throws("NOT_SUPPORTED_ERR", function() { document.adoptNode(doc) }) |
| }, "Adopting a Document should throw.") |
| </script> |