27 lines
801 B
JavaScript
27 lines
801 B
JavaScript
const results = [];
|
|
test(() => {
|
|
class Script1 extends HTMLScriptElement {
|
|
constructor() {
|
|
super();
|
|
}
|
|
connectedCallback() {
|
|
results.push("ce connected s1");
|
|
}
|
|
}
|
|
class Script2 extends HTMLScriptElement {
|
|
constructor() {
|
|
super();
|
|
}
|
|
connectedCallback() {
|
|
results.push("ce connected s2");
|
|
}
|
|
}
|
|
customElements.define("script-1", Script1, { extends: "script" });
|
|
customElements.define("script-2", Script2, { extends: "script" });
|
|
const s1 = new Script1();
|
|
s1.textContent = "results.push('s1')";
|
|
const s2 = new Script2();
|
|
s2.textContent = "results.push('s2')";
|
|
document.body.append(s1, s2);
|
|
assert_array_equals(results, ["s1", "s2", "ce connected s1", "ce connected s2"]);
|
|
}, "Custom element reactions follow script execution");
|