| <!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> |