[new feature] Uploader: before-read support promise mode (#3572)

This commit is contained in:
neverland
2019-06-20 16:14:07 +08:00
committed by GitHub
parent 12f1939e7d
commit 729b9dac4b
6 changed files with 159 additions and 8 deletions
@@ -36,5 +36,13 @@ exports[`renders demo correctly 1`] = `
</div>
</div>
</div>
<div>
<div class="van-uploader">
<div class="van-uploader__wrapper">
<div class="van-uploader__upload"><i class="van-icon van-icon-plus van-uploader__upload-icon">
<!----></i><input type="file" accept="image/*" class="van-uploader__input"></div>
</div>
</div>
</div>
</div>
`;
+36
View File
@@ -94,6 +94,42 @@ it('before read return false', () => {
expect(input.element.value).toEqual('');
});
it('before read return promise and resolve', async () => {
const afterRead = jest.fn();
const wrapper = mount(Uploader, {
propsData: {
beforeRead: () => new Promise(resolve => {
resolve();
}),
afterRead
}
});
wrapper.vm.onChange(file);
await later();
expect(afterRead).toHaveBeenCalledTimes(1);
});
it('before read return promise and reject', async () => {
const afterRead = jest.fn();
const wrapper = mount(Uploader, {
propsData: {
beforeRead: () => new Promise((resolve, reject) => {
reject();
}),
afterRead
}
});
const input = wrapper.find('input');
await later();
wrapper.vm.onChange(file);
expect(afterRead).toHaveBeenCalledTimes(0);
expect(input.element.value).toEqual('');
});
test('file size overlimit', async () => {
const wrapper = mount(Uploader, {
propsData: {