UNPKG

@webcomponents/custom-elements

Version:
45 lines (40 loc) 1.08 kB
<!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> <script src="../fast/dom/custom/testutils.js"></script> <body> <script> 'use strict'; // TODO(dominicc): Port fork() etc. to work with testharness, then // remove these. function debug() {} function finishJSTest() {} (() => { if (fork()) { // The controlling parent frame. let t = async_test('constructor destroys the context before super'); let watcher = new EventWatcher(t, window, 'message'); watcher.wait_for('message').then(t.step_func((event) => { assert_equals(event.data, 'PASS destroyed context'); return watcher.wait_for('message'); })).then(t.step_func((event) => { assert_equals(event.data, 'PASS child done'); t.done(); })); } else { // The child frame. class BadConstructor extends HTMLElement { constructor() { destroyContext(); super(); } } window.customElements.define('x-x', BadConstructor); try { new BadConstructor(); } finally { done(); } } })(); </script>