[bugfix] Image: load event not triggered when enable lazy-load

This commit is contained in:
陈嘉涵
2019-06-08 10:05:53 +08:00
parent c1ecc21757
commit 168730d2ac
3 changed files with 97 additions and 6 deletions
@@ -7,6 +7,15 @@ exports[`lazy load 1`] = `
</div>
`;
exports[`lazy-load error event 1`] = `
<div class="van-image">
<div class="van-image__error"><i class="van-icon van-icon-warning-o" style="font-size: 22px;">
<!----></i></div>
</div>
`;
exports[`lazy-load load event 1`] = `<div class="van-image"><img class="van-image__img"></div>`;
exports[`load event 1`] = `<div class="van-image"><img src="https://img.yzcdn.cn/vant/cat.jpeg" class="van-image__img"></div>`;
exports[`load event 2`] = `
+54
View File
@@ -7,6 +7,7 @@ test('click event', () => {
wrapper.trigger('click');
expect(wrapper.emitted('click')[0][0]).toBeTruthy();
wrapper.destroy();
});
test('load event', () => {
@@ -47,3 +48,56 @@ test('lazy load', () => {
expect(wrapper).toMatchSnapshot();
});
test('lazy-load load event', done => {
const wrapper = mount(Image, {
propsData: {
lazyLoad: true,
src: 'https://img.yzcdn.cn/vant/cat.jpeg'
},
mocks: {
$Lazyload: {
$on(eventName, hanlder) {
if (eventName === 'loaded') {
setTimeout(() => {
hanlder({ el: null });
hanlder({ el: wrapper.find('img').element });
expect(wrapper.emitted('load').length).toEqual(1);
expect(wrapper).toMatchSnapshot();
wrapper.destroy();
});
}
},
$off() {
done();
}
}
}
});
});
test('lazy-load error event', done => {
const wrapper = mount(Image, {
propsData: {
lazyLoad: true
},
mocks: {
$Lazyload: {
$on(eventName, hanlder) {
if (eventName === 'error') {
setTimeout(() => {
hanlder({ el: null });
hanlder({ el: wrapper.find('img').element });
expect(wrapper.emitted('error').length).toEqual(1);
expect(wrapper).toMatchSnapshot();
wrapper.destroy();
});
}
},
$off() {
done();
}
}
}
});
});