6
6
import test from '@playwright/test' ;
7
7
import { readFileSync } from 'fs' ;
8
8
import { FINALIZER , introducer , sixelEncode } from 'sixel' ;
9
- import { ITestContext , createTestContext , openTerminal , pollFor } from '../../../test/playwright/TestUtils' ;
9
+ import { ITestContext , createTestContext , openTerminal , pollFor , timeout } from '../../../test/playwright/TestUtils' ;
10
10
import { deepStrictEqual , ok , strictEqual } from 'assert' ;
11
11
12
12
/**
@@ -199,7 +199,7 @@ test.describe('ImageAddon', () => {
199
199
( await getScrollbackPlusRows ( ) - 1 )
200
200
) ;
201
201
// wait here, as we have to make sure, that eviction did not yet occur
202
- await new Promise ( r => setTimeout ( r , 100 ) ) ;
202
+ await timeout ( 100 ) ;
203
203
pollFor ( ctx . page , 'window.imageAddon._storage._images.size' , 1 ) ;
204
204
// scroll one further should delete the image
205
205
await ctx . page . evaluate ( ( ) => new Promise ( res => ( window as any ) . term . write ( '\n' , res ) ) ) ;
@@ -222,13 +222,13 @@ test.describe('ImageAddon', () => {
222
222
await ctx . proxy . write ( SIXEL_SEQ_0 ) ;
223
223
await ctx . proxy . write ( SIXEL_SEQ_0 ) ;
224
224
await ctx . proxy . write ( SIXEL_SEQ_0 ) ;
225
- await new Promise ( r => setTimeout ( r , 50 ) ) ;
225
+ await timeout ( 100 ) ;
226
226
const usage = await ctx . page . evaluate ( 'window.imageAddon.storageUsage' ) ;
227
227
await ctx . proxy . write ( SIXEL_SEQ_0 ) ;
228
228
await ctx . proxy . write ( SIXEL_SEQ_0 ) ;
229
229
await ctx . proxy . write ( SIXEL_SEQ_0 ) ;
230
230
await ctx . proxy . write ( SIXEL_SEQ_0 ) ;
231
- await new Promise ( r => setTimeout ( r , 50 ) ) ;
231
+ await timeout ( 100 ) ;
232
232
strictEqual ( await ctx . page . evaluate ( 'window.imageAddon.storageUsage' ) , usage ) ;
233
233
strictEqual ( usage as number < 1 , true ) ;
234
234
} ) ;
@@ -247,25 +247,26 @@ test.describe('ImageAddon', () => {
247
247
strictEqual ( await ctx . page . evaluate ( 'window.imageAddon.storageUsage' ) , 0 ) ;
248
248
} ) ;
249
249
test ( 'evict tiles by in-place overwrites (only full overwrite tested)' , async ( ) => {
250
- await new Promise ( r => setTimeout ( r , 50 ) ) ;
250
+ await timeout ( 50 ) ;
251
251
await ctx . proxy . write ( '\x1b[H' + SIXEL_SEQ_0 + '\x1b[100;100H' ) ;
252
+ await timeout ( 50 ) ;
252
253
let usage = await ctx . page . evaluate ( 'window.imageAddon.storageUsage' ) ;
253
254
while ( usage === 0 ) {
254
- await new Promise ( r => setTimeout ( r , 50 ) ) ;
255
+ await timeout ( 50 ) ;
255
256
usage = await ctx . page . evaluate ( 'window.imageAddon.storageUsage' ) ;
256
257
}
257
258
await ctx . proxy . write ( '\x1b[H' + SIXEL_SEQ_0 + '\x1b[100;100H' ) ;
258
- await new Promise ( r => setTimeout ( r , 200 ) ) ; // wait some time and re-check
259
+ await timeout ( 200 ) ; // wait some time and re-check
259
260
strictEqual ( await ctx . page . evaluate ( 'window.imageAddon.storageUsage' ) , usage ) ;
260
261
} ) ;
261
262
test ( 'manual eviction on alternate buffer must not miss images' , async ( ) => {
262
263
await ctx . proxy . write ( '\x1b[?1049h' ) ;
263
264
await ctx . proxy . write ( SIXEL_SEQ_0 + SIXEL_SEQ_0 + SIXEL_SEQ_0 + SIXEL_SEQ_0 + SIXEL_SEQ_0 + SIXEL_SEQ_0 ) ;
264
- await new Promise ( r => setTimeout ( r , 50 ) ) ;
265
+ await timeout ( 100 ) ;
265
266
const usage : number = await ctx . page . evaluate ( 'window.imageAddon.storageUsage' ) ;
266
267
await ctx . proxy . write ( SIXEL_SEQ_0 + SIXEL_SEQ_0 + SIXEL_SEQ_0 + SIXEL_SEQ_0 + SIXEL_SEQ_0 + SIXEL_SEQ_0 ) ;
267
268
await ctx . proxy . write ( SIXEL_SEQ_0 + SIXEL_SEQ_0 + SIXEL_SEQ_0 + SIXEL_SEQ_0 + SIXEL_SEQ_0 + SIXEL_SEQ_0 ) ;
268
- await new Promise ( r => setTimeout ( r , 50 ) ) ;
269
+ await timeout ( 100 ) ;
269
270
const newUsage : number = await ctx . page . evaluate ( 'window.imageAddon.storageUsage' ) ;
270
271
strictEqual ( newUsage , usage ) ;
271
272
} ) ;
0 commit comments