@@ -209,18 +209,13 @@ describe('List.Scroll', () => {
209
209
it ( 'onScroll should trigger on correct target' , ( ) => {
210
210
// Save in tmp variable since React will clean up this
211
211
let currentTarget ;
212
- const onScroll = jest . fn ( e => {
212
+ const onScroll = jest . fn ( ( e ) => {
213
213
( { currentTarget } = e ) ;
214
214
} ) ;
215
215
const wrapper = genList ( { itemHeight : 20 , height : 100 , data : genData ( 100 ) , onScroll } ) ;
216
216
wrapper . find ( '.rc-virtual-list-holder' ) . simulate ( 'scroll' ) ;
217
217
218
- expect ( currentTarget ) . toBe (
219
- wrapper
220
- . find ( '.rc-virtual-list-holder' )
221
- . hostNodes ( )
222
- . instance ( ) ,
223
- ) ;
218
+ expect ( currentTarget ) . toBe ( wrapper . find ( '.rc-virtual-list-holder' ) . hostNodes ( ) . instance ( ) ) ;
224
219
} ) ;
225
220
226
221
describe ( 'scroll should in range' , ( ) => {
@@ -269,5 +264,26 @@ describe('List.Scroll', () => {
269
264
270
265
expect ( wrapper . find ( 'ScrollBar' ) . props ( ) . scrollTop ) . toEqual ( 1900 ) ;
271
266
} ) ;
267
+
268
+ it ( 'dynamic large to small' , ( ) => {
269
+ const wrapper = genList ( { itemHeight : 20 , height : 100 , data : genData ( 1000 ) } ) ;
270
+ const ulElement = wrapper . find ( 'ul' ) . instance ( ) ;
271
+
272
+ // To bottom
273
+ act ( ( ) => {
274
+ const wheelEvent = new Event ( 'wheel' ) ;
275
+ wheelEvent . deltaY = 9999999 ;
276
+ ulElement . dispatchEvent ( wheelEvent ) ;
277
+
278
+ jest . runAllTimers ( ) ;
279
+ } ) ;
280
+
281
+ // Cut data len
282
+ wrapper . setProps ( {
283
+ data : genData ( 20 ) ,
284
+ } ) ;
285
+
286
+ expect ( wrapper . find ( 'li' ) . length ) . toBeLessThan ( 10 ) ;
287
+ } ) ;
272
288
} ) ;
273
289
} ) ;
0 commit comments