@@ -24,7 +24,7 @@ describe('renderer', () => {
24
24
const panelContainer = document . createElement ( 'div' ) ;
25
25
26
26
document . body . appendChild ( panelContainer ) ;
27
- autocomplete < { label : string } > ( {
27
+ const { destroy } = autocomplete < { label : string } > ( {
28
28
container,
29
29
panelContainer,
30
30
initialState : {
@@ -53,6 +53,8 @@ describe('renderer', () => {
53
53
render ( createElement ( Fragment , null , 'testSource' ) , root ) ;
54
54
} ,
55
55
} ) ;
56
+
57
+ destroy ( ) ;
56
58
} ) ;
57
59
58
60
test ( 'accepts a custom renderer' , ( ) => {
@@ -66,7 +68,7 @@ describe('renderer', () => {
66
68
67
69
document . body . appendChild ( panelContainer ) ;
68
70
69
- autocomplete < { label : string } > ( {
71
+ const { destroy } = autocomplete < { label : string } > ( {
70
72
container,
71
73
panelContainer,
72
74
initialState : {
@@ -110,6 +112,8 @@ describe('renderer', () => {
110
112
render : mockRender ,
111
113
} ,
112
114
} ) ;
115
+
116
+ destroy ( ) ;
113
117
} ) ;
114
118
115
119
test ( 'defaults `render` when not specified in the renderer' , ( ) => {
@@ -122,7 +126,7 @@ describe('renderer', () => {
122
126
123
127
document . body . appendChild ( panelContainer ) ;
124
128
125
- autocomplete < { label : string } > ( {
129
+ const { destroy } = autocomplete < { label : string } > ( {
126
130
container,
127
131
panelContainer,
128
132
initialState : {
@@ -153,6 +157,8 @@ describe('renderer', () => {
153
157
Fragment : CustomFragment ,
154
158
} ,
155
159
} ) ;
160
+
161
+ destroy ( ) ;
156
162
} ) ;
157
163
158
164
test ( 'uses a custom `render` via `renderer`' , async ( ) => {
@@ -165,7 +171,7 @@ describe('renderer', () => {
165
171
const mockCreateElement = jest . fn ( preactCreateElement ) ;
166
172
const mockRender = jest . fn ( ) . mockImplementation ( preactRender ) ;
167
173
168
- autocomplete < { label : string } > ( {
174
+ const { destroy } = autocomplete < { label : string } > ( {
169
175
container,
170
176
panelContainer,
171
177
id : 'autocomplete-0' ,
@@ -238,6 +244,8 @@ describe('renderer', () => {
238
244
</div>
239
245
` ) ;
240
246
} ) ;
247
+
248
+ destroy ( ) ;
241
249
} ) ;
242
250
243
251
test ( 'warns about renderer mismatch when specifying an incomplete renderer' , ( ) => {
@@ -249,8 +257,10 @@ describe('renderer', () => {
249
257
250
258
document . body . appendChild ( panelContainer ) ;
251
259
260
+ let instance ;
261
+
252
262
expect ( ( ) => {
253
- autocomplete < { label : string } > ( {
263
+ instance = autocomplete < { label : string } > ( {
254
264
container,
255
265
panelContainer,
256
266
initialState : {
@@ -280,9 +290,10 @@ describe('renderer', () => {
280
290
'[Autocomplete] You provided an incomplete `renderer` (missing: `renderer.render`). This can cause rendering issues.' +
281
291
'\nSee https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-renderer'
282
292
) ;
293
+ instance . destroy ( ) ;
283
294
284
295
expect ( ( ) => {
285
- autocomplete < { label : string } > ( {
296
+ instance = autocomplete < { label : string } > ( {
286
297
container,
287
298
panelContainer,
288
299
initialState : {
@@ -315,9 +326,10 @@ describe('renderer', () => {
315
326
'[Autocomplete] You provided an incomplete `renderer` (missing: `renderer.createElement`). This can cause rendering issues.' +
316
327
'\nSee https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-renderer'
317
328
) ;
329
+ instance . destroy ( ) ;
318
330
319
331
expect ( ( ) => {
320
- autocomplete < { label : string } > ( {
332
+ instance = autocomplete < { label : string } > ( {
321
333
container,
322
334
panelContainer,
323
335
initialState : {
@@ -350,9 +362,10 @@ describe('renderer', () => {
350
362
'[Autocomplete] You provided an incomplete `renderer` (missing: `renderer.Fragment`). This can cause rendering issues.' +
351
363
'\nSee https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-renderer'
352
364
) ;
365
+ instance . destroy ( ) ;
353
366
354
367
expect ( ( ) => {
355
- autocomplete < { label : string } > ( {
368
+ instance = autocomplete < { label : string } > ( {
356
369
container,
357
370
panelContainer,
358
371
initialState : {
@@ -384,6 +397,7 @@ describe('renderer', () => {
384
397
'[Autocomplete] You provided an incomplete `renderer` (missing: `renderer.Fragment`, `renderer.render`). This can cause rendering issues.' +
385
398
'\nSee https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-renderer'
386
399
) ;
400
+ instance . destroy ( ) ;
387
401
} ) ;
388
402
389
403
test ( 'warns about new `renderer.render` option when specifying an incomplete renderer and a `render` option' , ( ) => {
@@ -394,8 +408,9 @@ describe('renderer', () => {
394
408
395
409
document . body . appendChild ( panelContainer ) ;
396
410
411
+ let instance ;
397
412
function startAutocomplete ( ) {
398
- autocomplete < { label : string } > ( {
413
+ instance = autocomplete < { label : string } > ( {
399
414
container,
400
415
panelContainer,
401
416
initialState : {
@@ -434,11 +449,13 @@ describe('renderer', () => {
434
449
'\n- If you are using the `render` option to work with React 18, pass an empty `render` function into `renderer`.' +
435
450
'\nSee https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-render'
436
451
) ;
452
+ instance . destroy ( ) ;
437
453
438
454
expect ( startAutocomplete ) . not . toWarnDev (
439
455
'[Autocomplete] You provided an incomplete `renderer` (missing: `renderer.Fragment`, `renderer.render`). This can cause rendering issues.' +
440
456
'\nSee https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-renderer'
441
457
) ;
458
+ instance . destroy ( ) ;
442
459
} ) ;
443
460
444
461
test ( 'does not warn at all when only passing a `render` option' , ( ) => {
@@ -447,8 +464,9 @@ describe('renderer', () => {
447
464
448
465
document . body . appendChild ( panelContainer ) ;
449
466
467
+ let instance ;
450
468
expect ( ( ) => {
451
- autocomplete < { label : string } > ( {
469
+ instance = autocomplete < { label : string } > ( {
452
470
container,
453
471
panelContainer,
454
472
initialState : {
@@ -474,6 +492,7 @@ describe('renderer', () => {
474
492
} ,
475
493
} ) ;
476
494
} ) . not . toWarnDev ( ) ;
495
+ instance . destroy ( ) ;
477
496
} ) ;
478
497
479
498
test ( 'does not warn at all when passing an empty `renderer.render` function' , ( ) => {
@@ -484,8 +503,9 @@ describe('renderer', () => {
484
503
485
504
document . body . appendChild ( panelContainer ) ;
486
505
506
+ let instance ;
487
507
expect ( ( ) => {
488
- autocomplete < { label : string } > ( {
508
+ instance = autocomplete < { label : string } > ( {
489
509
container,
490
510
panelContainer,
491
511
initialState : {
@@ -513,6 +533,7 @@ describe('renderer', () => {
513
533
} ,
514
534
} ) ;
515
535
} ) . not . toWarnDev ( ) ;
536
+ instance . destroy ( ) ;
516
537
} ) ;
517
538
518
539
test ( 'does not warn at all when not passing a custom renderer' , ( ) => {
@@ -521,8 +542,9 @@ describe('renderer', () => {
521
542
522
543
document . body . appendChild ( panelContainer ) ;
523
544
545
+ let instance ;
524
546
expect ( ( ) => {
525
- autocomplete < { label : string } > ( {
547
+ instance = autocomplete < { label : string } > ( {
526
548
container,
527
549
panelContainer,
528
550
initialState : {
@@ -545,6 +567,7 @@ describe('renderer', () => {
545
567
} ,
546
568
} ) ;
547
569
} ) . not . toWarnDev ( ) ;
570
+ instance . destroy ( ) ;
548
571
} ) ;
549
572
550
573
test ( 'does not warn at all when passing a full custom renderer' , ( ) => {
@@ -556,8 +579,9 @@ describe('renderer', () => {
556
579
557
580
document . body . appendChild ( panelContainer ) ;
558
581
582
+ let instance ;
559
583
expect ( ( ) => {
560
- autocomplete < { label : string } > ( {
584
+ instance = autocomplete < { label : string } > ( {
561
585
container,
562
586
panelContainer,
563
587
initialState : {
@@ -585,5 +609,6 @@ describe('renderer', () => {
585
609
} ,
586
610
} ) ;
587
611
} ) . not . toWarnDev ( ) ;
612
+ instance . destroy ( ) ;
588
613
} ) ;
589
614
} ) ;
0 commit comments