@@ -2665,49 +2665,49 @@ public function testValidateImage()
26652665 $ file = $ this ->getMockBuilder (UploadedFile::class)->setMethods (['guessExtension ' , 'getClientOriginalExtension ' ])->setConstructorArgs ($ uploadedFile )->getMock ();
26662666 $ file ->expects ($ this ->any ())->method ('guessExtension ' )->willReturn ('php ' );
26672667 $ file ->expects ($ this ->any ())->method ('getClientOriginalExtension ' )->willReturn ('php ' );
2668- $ v = new Validator ($ trans , ['x ' => $ file ], ['x ' => 'Image ' ]);
2668+ $ v = new Validator ($ trans , ['x ' => $ file ], ['x ' => 'image ' ]);
26692669 $ this ->assertFalse ($ v ->passes ());
26702670
26712671 $ file2 = $ this ->getMockBuilder (UploadedFile::class)->setMethods (['guessExtension ' , 'getClientOriginalExtension ' ])->setConstructorArgs ($ uploadedFile )->getMock ();
2672- $ file2 ->expects ($ this ->any ())->method ('guessExtension ' )->willReturn ('jpeg ' );
2672+ $ file2 ->expects ($ this ->any ())->method ('guessExtension ' )->willReturn ('jpg ' );
26732673 $ file2 ->expects ($ this ->any ())->method ('getClientOriginalExtension ' )->willReturn ('jpeg ' );
2674- $ v = new Validator ($ trans , ['x ' => $ file2 ], ['x ' => 'Image ' ]);
2674+ $ v = new Validator ($ trans , ['x ' => $ file2 ], ['x ' => 'image ' ]);
2675+ $ this ->assertTrue ($ v ->passes ());
2676+
2677+ $ file2 = $ this ->getMockBuilder (UploadedFile::class)->setMethods (['guessExtension ' , 'getClientOriginalExtension ' ])->setConstructorArgs ($ uploadedFile )->getMock ();
2678+ $ file2 ->expects ($ this ->any ())->method ('guessExtension ' )->willReturn ('jpg ' );
2679+ $ file2 ->expects ($ this ->any ())->method ('getClientOriginalExtension ' )->willReturn ('jpg ' );
2680+ $ v = new Validator ($ trans , ['x ' => $ file2 ], ['x ' => 'image ' ]);
26752681 $ this ->assertTrue ($ v ->passes ());
26762682
26772683 $ file3 = $ this ->getMockBuilder (UploadedFile::class)->setMethods (['guessExtension ' , 'getClientOriginalExtension ' ])->setConstructorArgs ($ uploadedFile )->getMock ();
26782684 $ file3 ->expects ($ this ->any ())->method ('guessExtension ' )->willReturn ('gif ' );
26792685 $ file3 ->expects ($ this ->any ())->method ('getClientOriginalExtension ' )->willReturn ('gif ' );
2680- $ v = new Validator ($ trans , ['x ' => $ file3 ], ['x ' => 'Image ' ]);
2686+ $ v = new Validator ($ trans , ['x ' => $ file3 ], ['x ' => 'image ' ]);
26812687 $ this ->assertTrue ($ v ->passes ());
26822688
26832689 $ file4 = $ this ->getMockBuilder (UploadedFile::class)->setMethods (['guessExtension ' , 'getClientOriginalExtension ' ])->setConstructorArgs ($ uploadedFile )->getMock ();
26842690 $ file4 ->expects ($ this ->any ())->method ('guessExtension ' )->willReturn ('bmp ' );
26852691 $ file4 ->expects ($ this ->any ())->method ('getClientOriginalExtension ' )->willReturn ('bmp ' );
2686- $ v = new Validator ($ trans , ['x ' => $ file4 ], ['x ' => 'Image ' ]);
2692+ $ v = new Validator ($ trans , ['x ' => $ file4 ], ['x ' => 'image ' ]);
26872693 $ this ->assertTrue ($ v ->passes ());
26882694
26892695 $ file5 = $ this ->getMockBuilder (UploadedFile::class)->setMethods (['guessExtension ' , 'getClientOriginalExtension ' ])->setConstructorArgs ($ uploadedFile )->getMock ();
26902696 $ file5 ->expects ($ this ->any ())->method ('guessExtension ' )->willReturn ('png ' );
26912697 $ file5 ->expects ($ this ->any ())->method ('getClientOriginalExtension ' )->willReturn ('png ' );
2692- $ v = new Validator ($ trans , ['x ' => $ file5 ], ['x ' => 'Image ' ]);
2698+ $ v = new Validator ($ trans , ['x ' => $ file5 ], ['x ' => 'image ' ]);
26932699 $ this ->assertTrue ($ v ->passes ());
26942700
26952701 $ file6 = $ this ->getMockBuilder (UploadedFile::class)->setMethods (['guessExtension ' , 'getClientOriginalExtension ' ])->setConstructorArgs ($ uploadedFile )->getMock ();
26962702 $ file6 ->expects ($ this ->any ())->method ('guessExtension ' )->willReturn ('svg ' );
26972703 $ file6 ->expects ($ this ->any ())->method ('getClientOriginalExtension ' )->willReturn ('svg ' );
2698- $ v = new Validator ($ trans , ['x ' => $ file6 ], ['x ' => 'Image ' ]);
2704+ $ v = new Validator ($ trans , ['x ' => $ file6 ], ['x ' => 'image ' ]);
26992705 $ this ->assertTrue ($ v ->passes ());
27002706
27012707 $ file7 = $ this ->getMockBuilder (UploadedFile::class)->setMethods (['guessExtension ' , 'getClientOriginalExtension ' ])->setConstructorArgs ($ uploadedFile )->getMock ();
27022708 $ file7 ->expects ($ this ->any ())->method ('guessExtension ' )->willReturn ('webp ' );
27032709 $ file7 ->expects ($ this ->any ())->method ('getClientOriginalExtension ' )->willReturn ('webp ' );
2704- $ v = new Validator ($ trans , ['x ' => $ file7 ], ['x ' => 'Image ' ]);
2705- $ this ->assertTrue ($ v ->passes ());
2706-
2707- $ file2 = $ this ->getMockBuilder (UploadedFile::class)->setMethods (['guessExtension ' , 'getClientOriginalExtension ' ])->setConstructorArgs ($ uploadedFile )->getMock ();
2708- $ file2 ->expects ($ this ->any ())->method ('guessExtension ' )->willReturn ('jpg ' );
2709- $ file2 ->expects ($ this ->any ())->method ('getClientOriginalExtension ' )->willReturn ('jpg ' );
2710- $ v = new Validator ($ trans , ['x ' => $ file2 ], ['x ' => 'Image ' ]);
2710+ $ v = new Validator ($ trans , ['x ' => $ file7 ], ['x ' => 'image ' ]);
27112711 $ this ->assertTrue ($ v ->passes ());
27122712 }
27132713
@@ -2719,7 +2719,7 @@ public function testValidateImageDoesNotAllowPhpExtensionsOnImageMime()
27192719 $ file = $ this ->getMockBuilder (UploadedFile::class)->setMethods (['guessExtension ' , 'getClientOriginalExtension ' ])->setConstructorArgs ($ uploadedFile )->getMock ();
27202720 $ file ->expects ($ this ->any ())->method ('guessExtension ' )->willReturn ('jpeg ' );
27212721 $ file ->expects ($ this ->any ())->method ('getClientOriginalExtension ' )->willReturn ('php ' );
2722- $ v = new Validator ($ trans , ['x ' => $ file ], ['x ' => 'Image ' ]);
2722+ $ v = new Validator ($ trans , ['x ' => $ file ], ['x ' => 'image ' ]);
27232723 $ this ->assertFalse ($ v ->passes ());
27242724 }
27252725
@@ -2832,20 +2832,25 @@ public function testValidateImageDimensions()
28322832 $ this ->assertFalse ($ v ->passes ());
28332833 }
28342834
2835- /**
2836- * @requires extension fileinfo
2837- */
2838- public function testValidatePhpMimetypes ()
2835+ public function testValidateMimetypes ()
28392836 {
28402837 $ trans = $ this ->getIlluminateArrayTranslator ();
2841- $ uploadedFile = [__DIR__ .'/ValidationRuleTest.php ' , '' , null , null , null , true ];
2842-
2843- $ file = $ this ->getMockBuilder (UploadedFile::class)->setMethods (['guessExtension ' , 'getClientOriginalExtension ' ])->setConstructorArgs ($ uploadedFile )->getMock ();
2844- $ file ->expects ($ this ->any ())->method ('guessExtension ' )->willReturn ('rtf ' );
2845- $ file ->expects ($ this ->any ())->method ('getClientOriginalExtension ' )->willReturn ('rtf ' );
2838+ $ uploadedFile = [__FILE__ , '' , null , null , null , true ];
28462839
2840+ $ file = $ this ->getMockBuilder (UploadedFile::class)->setMethods (['getMimeType ' ])->setConstructorArgs ($ uploadedFile )->getMock ();
2841+ $ file ->expects ($ this ->any ())->method ('getMimeType ' )->willReturn ('text/rtf ' );
28472842 $ v = new Validator ($ trans , ['x ' => $ file ], ['x ' => 'mimetypes:text/* ' ]);
28482843 $ this ->assertTrue ($ v ->passes ());
2844+
2845+ $ file = $ this ->getMockBuilder (UploadedFile::class)->setMethods (['getMimeType ' ])->setConstructorArgs ($ uploadedFile )->getMock ();
2846+ $ file ->expects ($ this ->any ())->method ('getMimeType ' )->willReturn ('application/pdf ' );
2847+ $ v = new Validator ($ trans , ['x ' => $ file ], ['x ' => 'mimetypes:text/rtf ' ]);
2848+ $ this ->assertFalse ($ v ->passes ());
2849+
2850+ $ file = $ this ->getMockBuilder (UploadedFile::class)->setMethods (['getMimeType ' ])->setConstructorArgs ($ uploadedFile )->getMock ();
2851+ $ file ->expects ($ this ->any ())->method ('getMimeType ' )->willReturn ('image/jpeg ' );
2852+ $ v = new Validator ($ trans , ['x ' => $ file ], ['x ' => 'mimetypes:image/jpeg ' ]);
2853+ $ this ->assertTrue ($ v ->passes ());
28492854 }
28502855
28512856 public function testValidateMime ()
@@ -2864,6 +2869,18 @@ public function testValidateMime()
28642869 $ file2 ->expects ($ this ->any ())->method ('isValid ' )->willReturn (false );
28652870 $ v = new Validator ($ trans , ['x ' => $ file2 ], ['x ' => 'mimes:pdf ' ]);
28662871 $ this ->assertFalse ($ v ->passes ());
2872+
2873+ $ file = $ this ->getMockBuilder (UploadedFile::class)->setMethods (['guessExtension ' , 'getClientOriginalExtension ' ])->setConstructorArgs ($ uploadedFile )->getMock ();
2874+ $ file ->expects ($ this ->any ())->method ('guessExtension ' )->willReturn ('jpg ' );
2875+ $ file ->expects ($ this ->any ())->method ('getClientOriginalExtension ' )->willReturn ('jpg ' );
2876+ $ v = new Validator ($ trans , ['x ' => $ file ], ['x ' => 'mimes:jpeg ' ]);
2877+ $ this ->assertTrue ($ v ->passes ());
2878+
2879+ $ file = $ this ->getMockBuilder (UploadedFile::class)->setMethods (['guessExtension ' , 'getClientOriginalExtension ' ])->setConstructorArgs ($ uploadedFile )->getMock ();
2880+ $ file ->expects ($ this ->any ())->method ('guessExtension ' )->willReturn ('jpg ' );
2881+ $ file ->expects ($ this ->any ())->method ('getClientOriginalExtension ' )->willReturn ('jpeg ' );
2882+ $ v = new Validator ($ trans , ['x ' => $ file ], ['x ' => 'mimes:jpg ' ]);
2883+ $ this ->assertTrue ($ v ->passes ());
28672884 }
28682885
28692886 public function testValidateMimeEnforcesPhpCheck ()
0 commit comments