@@ -96,19 +96,21 @@ describe('InfiniteLoading.vue', () => {
96
96
it ( 'should not to execute callback if the previous loading has not be completed' , ( done ) => {
97
97
vm . onInfinite = function test ( ) {
98
98
const len = this . list . length + 1 ;
99
+ const infiniteWrapper = this . $refs . infiniteLoading . scrollParent ;
100
+
99
101
for ( let i = len ; i < len + 20 ; i ++ ) {
100
102
this . list . push ( i ) ;
101
103
}
102
104
103
105
Vue . nextTick ( ( ) => {
104
106
if ( this . list . length === 20 ) {
105
- vm . $el . addEventListener ( 'scroll' , ( ) => {
107
+ infiniteWrapper . addEventListener ( 'scroll' , ( ) => {
106
108
expect ( this . list ) . to . have . lengthOf ( 20 ) ;
107
109
done ( ) ;
108
110
} ) ;
109
111
110
112
// trigger scroll event manually
111
- vm . $el . scrollTop = vm . $el . scrollHeight ;
113
+ infiniteWrapper . scrollTop = infiniteWrapper . scrollHeight ;
112
114
}
113
115
} ) ;
114
116
} . bind ( vm ) ;
@@ -259,4 +261,21 @@ describe('InfiniteLoading.vue', () => {
259
261
260
262
app . $mount ( '#app' ) ;
261
263
} ) ;
264
+
265
+ it ( 'should work with customize scroll plugin like iScroll' , ( done ) => {
266
+ const infiniteWrapper = document . createElement ( 'div' ) ;
267
+ const wrapper = document . createElement ( 'div' ) ;
268
+
269
+ vm . isDivScroll = false ;
270
+ infiniteWrapper . setAttribute ( 'infinite-wrapper' , '' ) ;
271
+ document . getElementById ( 'app' ) . appendChild ( infiniteWrapper ) ;
272
+ infiniteWrapper . appendChild ( wrapper ) ;
273
+
274
+ vm . $mount ( wrapper ) ;
275
+
276
+ Vue . nextTick ( ( ) => {
277
+ expect ( vm . $refs . infiniteLoading . scrollParent ) . to . equal ( infiniteWrapper ) ;
278
+ done ( ) ;
279
+ } , 1 ) ;
280
+ } ) ;
262
281
} ) ;
0 commit comments