let fulfil; let thePromise = new Promise(f => { fulfil = f; }); export default { data: { thePromise }, html: `

loading...

`, async test(assert, component, target) { fulfil(42); await thePromise; assert.htmlEqual(target.innerHTML, `

the value is 42

`); let reject; thePromise = new Promise((f, r) => { reject = r; }); component.set({ thePromise }); assert.htmlEqual(target.innerHTML, `

loading...

`); reject(new Error('something broke')); try { await thePromise; } catch (err) { // do nothing } assert.htmlEqual(target.innerHTML, `

oh no! something broke

`); } };