Skip to content

Commit 0e5c8bf

Browse files
committed
create animation frame test helper
1 parent 9dcf260 commit 0e5c8bf

1 file changed

Lines changed: 9 additions & 7 deletions

File tree

test/lazy-define.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,16 @@ import {expect, fixture, html} from '@open-wc/testing'
22
import {spy} from 'sinon'
33
import {lazyDefine} from '../src/lazy-define.js'
44

5+
const animationFrame = () => new Promise<unknown>(resolve => requestAnimationFrame(resolve))
6+
57
describe('lazyDefine', () => {
68
describe('ready strategy', () => {
79
it('calls define for a lazy component', async () => {
810
const onDefine = spy()
911
lazyDefine('scan-document-test', onDefine)
1012
await fixture(html`<scan-document-test></scan-document-test>`)
1113

12-
await new Promise<unknown>(resolve => requestAnimationFrame(resolve))
14+
await animationFrame()
1315

1416
expect(onDefine).to.be.callCount(1)
1517
})
@@ -19,7 +21,7 @@ describe('lazyDefine', () => {
1921
await fixture(html`<later-defined-element-test></later-defined-element-test>`)
2022
lazyDefine('later-defined-element-test', onDefine)
2123

22-
await new Promise<unknown>(resolve => requestAnimationFrame(resolve))
24+
await animationFrame()
2325

2426
expect(onDefine).to.be.callCount(1)
2527
})
@@ -39,7 +41,7 @@ describe('lazyDefine', () => {
3941
<twice-defined-element></twice-defined-element>
4042
`)
4143

42-
await new Promise<unknown>(resolve => requestAnimationFrame(resolve))
44+
await animationFrame()
4345

4446
expect(onDefine).to.be.callCount(2)
4547
})
@@ -51,12 +53,12 @@ describe('lazyDefine', () => {
5153
lazyDefine('scan-document-test', onDefine)
5254
await fixture(html`<scan-document-test data-load-on="firstInteraction"></scan-document-test>`)
5355

54-
await new Promise<unknown>(resolve => requestAnimationFrame(resolve))
56+
await animationFrame()
5557
expect(onDefine).to.be.callCount(0)
5658

5759
document.dispatchEvent(new Event('mousedown'))
5860

59-
await new Promise<unknown>(resolve => requestAnimationFrame(resolve))
61+
await animationFrame()
6062
expect(onDefine).to.be.callCount(1)
6163
})
6264
})
@@ -68,12 +70,12 @@ describe('lazyDefine', () => {
6870
html`<div style="height: calc(100vh + 256px)"></div>
6971
<scan-document-test data-load-on="visible"></scan-document-test>`
7072
)
71-
await new Promise<unknown>(resolve => requestAnimationFrame(resolve))
73+
await animationFrame()
7274
expect(onDefine).to.be.callCount(0)
7375

7476
document.documentElement.scrollTo({top: 10})
7577

76-
await new Promise<unknown>(resolve => requestAnimationFrame(resolve))
78+
await animationFrame()
7779
expect(onDefine).to.be.callCount(1)
7880
})
7981
})

0 commit comments

Comments
 (0)