| @@ 64-71 (lines=8) @@ | ||
| 61 | * @test |
|
| 62 | * @covers ::filter |
|
| 63 | */ |
|
| 64 | public function requiredWithADefaultWithInput() |
|
| 65 | { |
|
| 66 | $result = Filterer::filter( |
|
| 67 | ['fieldOne' => ['required' => true, 'default' => 'theDefault']], |
|
| 68 | ['fieldOne' => 'notTheDefault'] |
|
| 69 | ); |
|
| 70 | $this->assertSame([true, ['fieldOne' => 'notTheDefault'], null, []], $result); |
|
| 71 | } |
|
| 72 | ||
| 73 | /** |
|
| 74 | * @test |
|
| @@ 188-198 (lines=11) @@ | ||
| 185 | * @test |
|
| 186 | * @covers ::filter |
|
| 187 | */ |
|
| 188 | public function chainFail() |
|
| 189 | { |
|
| 190 | $result = Filterer::filter( |
|
| 191 | ['fieldOne' => [['trim'], ['\TraderInteractive\FiltererTest::failingFilter']]], |
|
| 192 | ['fieldOne' => 'the value'] |
|
| 193 | ); |
|
| 194 | $this->assertSame( |
|
| 195 | [false, null, "Field 'fieldOne' with value 'the value' failed filtering, message 'i failed'", []], |
|
| 196 | $result |
|
| 197 | ); |
|
| 198 | } |
|
| 199 | ||
| 200 | /** |
|
| 201 | * @test |
|
| @@ 401-416 (lines=16) @@ | ||
| 398 | * |
|
| 399 | * @return void |
|
| 400 | */ |
|
| 401 | public function filterWithCustomError() |
|
| 402 | { |
|
| 403 | $result = Filterer::filter( |
|
| 404 | [ |
|
| 405 | 'fieldOne' => [ |
|
| 406 | ['\TraderInteractive\FiltererTest::failingFilter'], |
|
| 407 | 'error' => 'My custom error message' |
|
| 408 | ], |
|
| 409 | ], |
|
| 410 | ['fieldOne' => 'valueOne'] |
|
| 411 | ); |
|
| 412 | $this->assertSame( |
|
| 413 | [false, null, 'My custom error message', []], |
|
| 414 | $result |
|
| 415 | ); |
|
| 416 | } |
|
| 417 | ||
| 418 | /** |
|
| 419 | * Verify behavior of filter() when 'error' is not a string value. |
|