Skip to content

Commit d3bb457

Browse files
committed
test: add unit test for identifier prop and reset event deprecation
1 parent 6db798e commit d3bb457

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

test/unit/specs/InfiniteLoading.spec.js

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -567,4 +567,53 @@ describe('vue-infinite-loading:component', () => {
567567

568568
vm.$mount('#app');
569569
});
570+
571+
it('should be reset if received `reset` event or change `identifier`, and throw warning if use the event way', (done) => {
572+
let triggerTimes = 0;
573+
let isThrowWarn;
574+
575+
vm = new Vue(Object.assign({}, basicConfig, {
576+
data: {
577+
list: [],
578+
identifier: '',
579+
},
580+
template: `
581+
<infinite-loading
582+
:identifier="identifier"
583+
@infinite="infiniteHandler"
584+
ref="infiniteLoading">
585+
</infinite-loading>
586+
`,
587+
methods: {
588+
infiniteHandler: function infiniteHandler() {
589+
switch (triggerTimes += 1) {
590+
case 1:
591+
console.warn = fakeBox(console.warn, (text) => {
592+
if (text.indexOf('identifier') > -1) {
593+
isThrowWarn = true;
594+
}
595+
});
596+
597+
// emit reset event to reset component
598+
this.$refs.infiniteLoading.$emit('$InfiniteLoading:reset');
599+
console.warn = fakeBox();
600+
break;
601+
case 2:
602+
// expect get warning if use reset event
603+
expect(isThrowWarn).to.be.true;
604+
605+
// change identifier to reset component
606+
this.identifier = +new Date();
607+
break;
608+
case 3:
609+
done();
610+
break;
611+
default:
612+
}
613+
},
614+
},
615+
}));
616+
617+
vm.$mount('#app');
618+
});
570619
});

0 commit comments

Comments
 (0)