| @@ 56-63 (lines=8) @@ | ||
| 53 | * @test |
|
| 54 | * @covers ::filter |
|
| 55 | */ |
|
| 56 | public function requiredWithADefaultWithInput() |
|
| 57 | { |
|
| 58 | $result = Filterer::filter( |
|
| 59 | ['fieldOne' => ['required' => true, 'default' => 'theDefault']], |
|
| 60 | ['fieldOne' => 'notTheDefault'] |
|
| 61 | ); |
|
| 62 | $this->assertSame([true, ['fieldOne' => 'notTheDefault'], null, []], $result); |
|
| 63 | } |
|
| 64 | ||
| 65 | /** |
|
| 66 | * @test |
|
| @@ 180-190 (lines=11) @@ | ||
| 177 | * @test |
|
| 178 | * @covers ::filter |
|
| 179 | */ |
|
| 180 | public function chainFail() |
|
| 181 | { |
|
| 182 | $result = Filterer::filter( |
|
| 183 | ['fieldOne' => [['trim'], ['\TraderInteractive\FiltererTest::failingFilter']]], |
|
| 184 | ['fieldOne' => 'the value'] |
|
| 185 | ); |
|
| 186 | $this->assertSame( |
|
| 187 | [false, null, "Field 'fieldOne' with value 'the value' failed filtering, message 'i failed'", []], |
|
| 188 | $result |
|
| 189 | ); |
|
| 190 | } |
|
| 191 | ||
| 192 | /** |
|
| 193 | * @test |
|
| @@ 404-419 (lines=16) @@ | ||
| 401 | * |
|
| 402 | * @return void |
|
| 403 | */ |
|
| 404 | public function filterWithCustomError() |
|
| 405 | { |
|
| 406 | $result = Filterer::filter( |
|
| 407 | [ |
|
| 408 | 'fieldOne' => [ |
|
| 409 | ['\TraderInteractive\FiltererTest::failingFilter'], |
|
| 410 | 'error' => 'My custom error message' |
|
| 411 | ], |
|
| 412 | ], |
|
| 413 | ['fieldOne' => 'valueOne'] |
|
| 414 | ); |
|
| 415 | $this->assertSame( |
|
| 416 | [false, null, 'My custom error message', []], |
|
| 417 | $result |
|
| 418 | ); |
|
| 419 | } |
|
| 420 | ||
| 421 | /** |
|
| 422 | * Verify behavior of filter() when 'error' is not a string value. |
|