Skip to content

Commit 38e2be0

Browse files
author
WB01676250
committed
feat: test
1 parent d0c133a commit 38e2be0

File tree

2 files changed

+37
-1
lines changed

2 files changed

+37
-1
lines changed

src/AjaxUploader.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ class AjaxUploader extends Component<UploadProps> {
8585
files = [...(clipboardData.files || [])];
8686
}
8787

88-
if (items.some(item => item.kind === 'file') || files.length > 0) {
88+
if (files.length > 0 || items.some(item => item.kind === 'file')) {
8989
e.preventDefault();
9090
}
9191

tests/uploader.spec.tsx

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -488,6 +488,42 @@ describe('uploader', () => {
488488

489489
fireEvent.change(input, { target: { files } });
490490
});
491+
492+
it('should call preventDefault when paste contains files', () => {
493+
const { container } = render(<Upload {...props} pastable />);
494+
const input = container.querySelector('input')!;
495+
496+
const files = [new File([''], 'test.png', { type: 'image/png' })];
497+
498+
const preventDefaultSpy = jest.spyOn(Event.prototype, 'preventDefault');
499+
500+
fireEvent.paste(input, {
501+
clipboardData: {
502+
items: [{ kind: 'file' }],
503+
files,
504+
},
505+
});
506+
507+
expect(preventDefaultSpy).toHaveBeenCalledTimes(1);
508+
preventDefaultSpy.mockRestore();
509+
});
510+
511+
it('should not call preventDefault when paste contains no files', () => {
512+
const { container } = render(<Upload {...props} pastable />);
513+
const input = container.querySelector('input')!;
514+
515+
const preventDefaultSpy = jest.spyOn(Event.prototype, 'preventDefault');
516+
517+
fireEvent.paste(input, {
518+
clipboardData: {
519+
items: [{ kind: 'string' }],
520+
files: [],
521+
},
522+
});
523+
524+
expect(preventDefaultSpy).toHaveBeenCalledTimes(0);
525+
preventDefaultSpy.mockRestore();
526+
});
491527
});
492528

493529
describe('directory uploader', () => {

0 commit comments

Comments
 (0)