23 lines
829 B
TypeScript
23 lines
829 B
TypeScript
|
import { tap, expect } from '@git.zone/tstest/tapbundle';
|
||
|
import { resolveTemplateFactory } from '../ts_web/elements/wcctools.helpers.js';
|
||
|
import { html } from 'lit';
|
||
|
|
||
|
const waitFor = (durationMs: number) => new Promise(resolve => setTimeout(resolve, durationMs));
|
||
|
|
||
|
tap.test('resolveTemplateFactory returns sync TemplateResult', async () => {
|
||
|
const template = html`<p>sync demo</p>`;
|
||
|
const resolvedTemplate = await resolveTemplateFactory(() => template);
|
||
|
expect(resolvedTemplate).toEqual(template);
|
||
|
});
|
||
|
|
||
|
tap.test('resolveTemplateFactory awaits async TemplateResult', async () => {
|
||
|
const template = html`<p>async demo</p>`;
|
||
|
const resolvedTemplate = await resolveTemplateFactory(async () => {
|
||
|
await waitFor(5);
|
||
|
return template;
|
||
|
});
|
||
|
expect(resolvedTemplate).toEqual(template);
|
||
|
});
|
||
|
|
||
|
export default tap.start();
|