| <!DOCTYPE html> | |
| <link rel="help" href="https://dom.spec.whatwg.org/#dom-document-importnode"> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script src="../resources/custom-elements-helpers.js"></script> | |
| <body> | |
| <script> | |
| test_with_window((w, doc) => { | |
| class MyElement extends HTMLElement {} | |
| class MyElement2 extends w.HTMLElement {} | |
| customElements.define('my-element', MyElement); | |
| w.customElements.define('my-element', MyElement2); | |
| let original = document.createElement('my-element'); | |
| assert_true(original instanceof MyElement); | |
| let imported = doc.importNode(original); | |
| assert_true(imported instanceof MyElement2); | |
| }, 'autonomous: document.importNode() should import custom elements successfully'); | |
| test_with_window((w, doc) => { | |
| class MyElement3 extends w.HTMLElement {} | |
| w.customElements.define('my-element3', MyElement3); | |
| let original = document.createElement('my-element3'); | |
| assert_equals(original.constructor, HTMLElement); | |
| let imported = doc.importNode(original); | |
| assert_true(imported instanceof MyElement3); | |
| }, 'autonomous: document.importNode() should import "undefined" custom elements successfully'); | |
| </script> | |
| </body> |