connected-callbacks-template.html (1191B)
1 <!DOCTYPE html> 2 <meta charset="utf-8"> 3 <script src="/resources/testharness.js"></script> 4 <script src="/resources/testharnessreport.js"></script> 5 <!-- Regression test for https://github.com/jsdom/jsdom/issues/3290 --> 6 7 <body> 8 <script> 9 "use strict"; 10 11 test(() => { 12 let innerConnectedCallbackCalled = false; 13 customElements.define("inner-element", class extends HTMLElement { 14 connectedCallback() { 15 innerConnectedCallbackCalled = true; 16 } 17 }); 18 19 let outerConnectedCallbackCalled = false; 20 customElements.define("outer-element", class extends HTMLElement { 21 connectedCallback() { 22 const template = document.createElement("template"); 23 template.innerHTML = "<inner-element></inner-element>"; 24 this.appendChild(document.importNode(template.content, true)); 25 outerConnectedCallbackCalled = true; 26 } 27 }); 28 29 document.body.appendChild(document.createElement("outer-element")); 30 assert_true(innerConnectedCallbackCalled, "inner connectedCallback must be called"); 31 assert_true(outerConnectedCallbackCalled, "outer connectedCallback must be called"); 32 }, "Nested custom element connectedCallback insertion involving a template DocumentFragment"); 33 </script>