@@ -488,6 +488,42 @@ describe('uploader', () => {
488
488
489
489
fireEvent . change ( input , { target : { files } } ) ;
490
490
} ) ;
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
+ } ) ;
491
527
} ) ;
492
528
493
529
describe ( 'directory uploader' , ( ) => {
0 commit comments