Skip to content

Commit d39f9a8

Browse files
committed
test: add test case for default spinner component feature
1 parent 94dc326 commit d39f9a8

File tree

1 file changed

+29
-1
lines changed

1 file changed

+29
-1
lines changed

test/unit/specs/InfiniteLoading.spec.js

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ describe('vue-infinite-loading:component', () => {
256256
list: [],
257257
isDivScroll: true,
258258
direction: 'top',
259-
spinner: 'default',
259+
spinner: 'unknown',
260260
};
261261
},
262262
methods: {
@@ -654,4 +654,32 @@ describe('vue-infinite-loading:component', () => {
654654

655655
vm.$mount('#app');
656656
});
657+
658+
it('should support use a component as the default spinner', (done) => {
659+
const spinnerId = 'custom-spinner';
660+
const originalSpinner = config.props.spinner;
661+
662+
// override default spinner and slot
663+
config.props.spinner = { template: `<div id="${spinnerId}">Loading...</div>` };
664+
665+
vm = new Vue(Object.assign({}, basicConfig, {
666+
template: `
667+
<infinite-loading
668+
@infinite="infiniteHandler">
669+
</infinite-loading>
670+
`,
671+
methods: {
672+
infiniteHandler: function infiniteHandler() {
673+
// assert custom spinner
674+
expect(this.$el.querySelector(`#${spinnerId}`)).to.be.not.null;
675+
676+
// restore config
677+
config.props.spinner = originalSpinner;
678+
done();
679+
},
680+
},
681+
}));
682+
683+
vm.$mount('#app');
684+
});
657685
});

0 commit comments

Comments
 (0)