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