| <!DOCTYPE html> |
| <title>Custom Elements: Insert a node should try to upgrade</title> |
| <script src="../../resources/testharness.js"></script> |
| <script src="../../resources/testharnessreport.js"></script> |
| <script src="resources/custom-elements-helpers.js"></script> |
| <body> |
| <script> |
| 'use strict'; |
| |
| // Insert a node |
| // https://dom.spec.whatwg.org/#concept-node-insert |
| // 6.5.2.2. try to upgrade inclusiveDescendant. |
| // Try to upgrade an element |
| // https://html.spec.whatwg.org/multipage/scripting.html#concept-try-upgrade |
| test_with_window(w => { |
| let element = w.document.createElement('a-a'); |
| |
| w.customElements.define('a-a', class extends w.HTMLElement { |
| constructor() { |
| super(); |
| this.is_upgraded = true; |
| } |
| }); |
| assert_false('is_upgraded' in element); |
| assert_false(element.matches(':defined')); |
| |
| w.document.body.appendChild(element); |
| assert_true(element.is_upgraded); |
| assert_true(element.matches(':defined')); |
| }, 'Insert a node should try to upgrade'); |
| </script> |
| </body> |