@@ -25,32 +25,43 @@ public function basicBehaviorDataProvider()
2525 {
2626 $ testFile = __DIR__ . '/_files/picture.jpg ' ;
2727 $ fileUpload = [
28- 'tmp_name ' => $ testFile , 'name ' => basename ($ testFile ),
29- 'size ' => 200 , 'error ' => 0 , 'type ' => 'image/jpeg '
28+ 'tmp_name ' => $ testFile ,
29+ 'name ' => basename ($ testFile ),
30+ 'size ' => 200 ,
31+ 'error ' => 0 ,
32+ 'type ' => 'image/jpeg ' ,
3033 ];
34+
35+ $ falseTypeMessage = [ExcludeMimeType::FALSE_TYPE => "File has an incorrect mimetype of 'image/jpeg' " ];
36+
3137 return [
32- // Options, isValid Param, Expected value
33- ['image/gif ' , $ fileUpload , true ],
34- ['image ' , $ fileUpload , false ],
35- ['test/notype ' , $ fileUpload , true ],
36- ['image/gif, image/jpeg ' , $ fileUpload , false ],
37- [['image/vasa ' , 'image/gif ' ], $ fileUpload , true ],
38- [['image/gif ' , 'jpeg ' ], $ fileUpload , false ],
39- [['image/gif ' , 'gif ' ], $ fileUpload , true ],
38+ // Options, isValid Param, Expected value, messages
39+ ['image/gif ' , $ fileUpload , true , [] ],
40+ ['image ' , $ fileUpload , false , $ falseTypeMessage ],
41+ ['test/notype ' , $ fileUpload , true , [] ],
42+ ['image/gif, image/jpeg ' , $ fileUpload , false , $ falseTypeMessage ],
43+ [['image/vasa ' , 'image/gif ' ], $ fileUpload , true , [] ],
44+ [['image/gif ' , 'jpeg ' ], $ fileUpload , false , $ falseTypeMessage ],
45+ [['image/gif ' , 'gif ' ], $ fileUpload , true , [] ],
4046 ];
4147 }
4248
4349 /**
4450 * Ensures that the validator follows expected behavior
4551 *
4652 * @dataProvider basicBehaviorDataProvider
47- * @return void
53+ *
54+ * @param string|array $options
55+ * @param array $isValidParam
56+ * @param bool $expected
57+ * @param array $messages
4858 */
49- public function testBasic ($ options , $ isValidParam , $ expected )
59+ public function testBasic ($ options , array $ isValidParam , $ expected, array $ messages )
5060 {
5161 $ validator = new ExcludeMimeType ($ options );
5262 $ validator ->enableHeaderCheck ();
5363 $ this ->assertEquals ($ expected , $ validator ->isValid ($ isValidParam ));
64+ $ this ->assertEquals ($ messages , $ validator ->getMessages ());
5465 }
5566
5667 /**
@@ -137,6 +148,12 @@ public function testEmptyFileShouldReturnFalseAndDisplayNotFoundMessage()
137148
138149 $ this ->assertFalse ($ validator ->isValid ('' ));
139150 $ this ->assertArrayHasKey (ExcludeMimeType::NOT_READABLE , $ validator ->getMessages ());
151+ $ this ->assertNotEmpty ($ validator ->getMessages ()[ExcludeMimeType::NOT_READABLE ]);
152+ }
153+
154+ public function testEmptyArrayFileShouldReturnFalseAdnDisplayNotFoundMessage ()
155+ {
156+ $ validator = new ExcludeMimeType ();
140157
141158 $ filesArray = [
142159 'name ' => '' ,
@@ -148,6 +165,7 @@ public function testEmptyFileShouldReturnFalseAndDisplayNotFoundMessage()
148165
149166 $ this ->assertFalse ($ validator ->isValid ($ filesArray ));
150167 $ this ->assertArrayHasKey (ExcludeMimeType::NOT_READABLE , $ validator ->getMessages ());
168+ $ this ->assertNotEmpty ($ validator ->getMessages ()[ExcludeMimeType::NOT_READABLE ]);
151169 }
152170
153171 public function testIsValidRaisesExceptionWithArrayNotInFilesFormat ()
0 commit comments