-
Notifications
You must be signed in to change notification settings - Fork 56
Expand file tree
/
Copy pathValidatorSKTest.php
More file actions
51 lines (43 loc) · 1.32 KB
/
Copy pathValidatorSKTest.php
File metadata and controls
51 lines (43 loc) · 1.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
declare (strict_types=1);
namespace DragonBe\Test\Vies\Validator;
use DragonBe\Vies\Validator\ValidatorSK;
class ValidatorSKTest extends AbstractValidatorTest
{
/**
* @covers \DragonBe\Vies\Validator\ValidatorSK
* @dataProvider vatNumberProvider
*/
public function testValidator(string $vatNumber, bool $state)
{
$this->validateVatNumber('SK', $vatNumber, $state);
}
public function vatNumberProvider()
{
return [
['4030000007', true],
['4030000006', false],
['123456789', false],
['0123456789', false],
['4060000007', false],
];
}
/**
* @covers \DragonBe\Vies\Validator\ValidatorSK
*/
public function testValidateRaisesNoWarningOnNonNumericInput()
{
$raised = null;
set_error_handler(static function (int $errno, string $errstr) use (&$raised): bool {
$raised = $errstr;
return true;
}, E_DEPRECATED | E_WARNING);
try {
$result = (new ValidatorSK())->validate('222222222A');
} finally {
restore_error_handler();
}
self::assertFalse($result, 'Non-numeric SK input must be invalid');
self::assertNull($raised, 'Validator must not trigger E_WARNING or E_DEPRECATED');
}
}