@@ -2,14 +2,16 @@ import {expect, fixture, html} from '@open-wc/testing'
22import { spy } from 'sinon'
33import { lazyDefine } from '../src/lazy-define.js'
44
5+ const animationFrame = ( ) => new Promise < unknown > ( resolve => requestAnimationFrame ( resolve ) )
6+
57describe ( '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