| @@ 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. |
|