Skip to content

Commit 8e9da7d

Browse files
koddssonkeithamus
andcommitted
Add test to make sure callbacks are only called once
Co-authored-by: Keith Cirkel <keithamus@users.noreply.github.com>
1 parent d540098 commit 8e9da7d

1 file changed

Lines changed: 19 additions & 1 deletion

File tree

test/lazy-define.ts

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,5 +48,23 @@ describe('lazyDefine', () => {
4848

4949
expect(onDefine).to.be.callCount(1)
5050
})
51-
it("doesn't call the same callback twice", () => {})
51+
it("doesn't call the same callback twice", async () => {
52+
const onDefine = spy()
53+
lazyDefine('twice-defined-element', onDefine)
54+
lazyDefine('once-defined-element', onDefine)
55+
lazyDefine('twice-defined-element', onDefine)
56+
await fixture(html`
57+
<once-defined-element></once-defined-element>
58+
<once-defined-element></once-defined-element>
59+
<once-defined-element></once-defined-element>
60+
<twice-defined-element></twice-defined-element>
61+
<twice-defined-element></twice-defined-element>
62+
<twice-defined-element></twice-defined-element>
63+
<twice-defined-element></twice-defined-element>
64+
`)
65+
66+
await new Promise<unknown>(resolve => requestAnimationFrame(resolve))
67+
68+
expect(onDefine).to.be.callCount(2)
69+
})
5270
})

0 commit comments

Comments
 (0)