File tree Expand file tree Collapse file tree 1 file changed +13
-10
lines changed
Expand file tree Collapse file tree 1 file changed +13
-10
lines changed Original file line number Diff line number Diff line change @@ -105,17 +105,20 @@ async function waitForListMatch<T>(
105105 timeoutMs = 2000 ,
106106 intervalMs = 50 ,
107107) : Promise < T > {
108- const deadline = Date . now ( ) + timeoutMs ;
109- while ( true ) {
110- const value = await fetchList ( ) ;
111- if ( predicate ( value ) ) {
112- return value ;
113- }
114- if ( Date . now ( ) >= deadline ) {
115- throw new Error ( "timeout waiting for list update" ) ;
116- }
117- await new Promise ( ( resolve ) => setTimeout ( resolve , intervalMs ) ) ;
108+ let latest : T | undefined ;
109+ await expect
110+ . poll (
111+ async ( ) => {
112+ latest = await fetchList ( ) ;
113+ return predicate ( latest ) ;
114+ } ,
115+ { timeout : timeoutMs , interval : intervalMs } ,
116+ )
117+ . toBe ( true ) ;
118+ if ( latest === undefined ) {
119+ throw new Error ( "expected list value" ) ;
118120 }
121+ return latest ;
119122}
120123
121124describe ( "chrome extension relay server" , ( ) => {
You can’t perform that action at this time.
0 commit comments