| @@ 59-66 (lines=8) @@ | ||
| 56 | * @test | |
| 57 | * @covers ::filter | |
| 58 | */ | |
| 59 | public function requiredWithADefaultWithInput() | |
| 60 |     { | |
| 61 | $result = Filterer::filter( | |
| 62 | ['fieldOne' => ['required' => true, 'default' => 'theDefault']], | |
| 63 | ['fieldOne' => 'notTheDefault'] | |
| 64 | ); | |
| 65 | $this->assertSame([true, ['fieldOne' => 'notTheDefault'], null, []], $result); | |
| 66 | } | |
| 67 | ||
| 68 | /** | |
| 69 | * @test | |
| @@ 183-193 (lines=11) @@ | ||
| 180 | * @test | |
| 181 | * @covers ::filter | |
| 182 | */ | |
| 183 | public function chainFail() | |
| 184 |     { | |
| 185 | $result = Filterer::filter( | |
| 186 | ['fieldOne' => [['trim'], ['\TraderInteractive\FiltererTest::failingFilter']]], | |
| 187 | ['fieldOne' => 'the value'] | |
| 188 | ); | |
| 189 | $this->assertSame( | |
| 190 | [false, null, "Field 'fieldOne' with value 'the value' failed filtering, message 'i failed'", []], | |
| 191 | $result | |
| 192 | ); | |
| 193 | } | |
| 194 | ||
| 195 | /** | |
| 196 | * @test | |
| @@ 396-411 (lines=16) @@ | ||
| 393 | * | |
| 394 | * @return void | |
| 395 | */ | |
| 396 | public function filterWithCustomError() | |
| 397 |     { | |
| 398 | $result = Filterer::filter( | |
| 399 | [ | |
| 400 | 'fieldOne' => [ | |
| 401 | ['\TraderInteractive\FiltererTest::failingFilter'], | |
| 402 | 'error' => 'My custom error message' | |
| 403 | ], | |
| 404 | ], | |
| 405 | ['fieldOne' => 'valueOne'] | |
| 406 | ); | |
| 407 | $this->assertSame( | |
| 408 | [false, null, 'My custom error message', []], | |
| 409 | $result | |
| 410 | ); | |
| 411 | } | |
| 412 | ||
| 413 | /** | |
| 414 | * Verify behavior of filter() when 'error' is not a string value. | |