1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
/* |
4
|
|
|
* This file is part of the Polish Validator Bundle package. |
5
|
|
|
* |
6
|
|
|
* (c) Grzegorz Koziński |
7
|
|
|
* |
8
|
|
|
* For the full copyright and license information, please view the LICENSE |
9
|
|
|
* file that was distributed with this source code. |
10
|
|
|
*/ |
11
|
|
|
|
12
|
|
|
namespace Kiczort\PolishValidatorBundle\Tests\Constraints; |
13
|
|
|
|
14
|
|
|
use Kiczort\PolishValidatorBundle\Validator\Constraints\Regon; |
15
|
|
|
use Kiczort\PolishValidatorBundle\Validator\Constraints\RegonValidator; |
16
|
|
|
use Symfony\Component\Validator\Tests\Constraints\AbstractConstraintValidatorTest; |
17
|
|
|
use Symfony\Component\Validator\Validation; |
18
|
|
|
|
19
|
|
|
/** |
20
|
|
|
* @author Grzegorz Koziński <[email protected]> |
21
|
|
|
*/ |
22
|
|
|
class RegonValidatorTest extends AbstractConstraintValidatorTest |
|
|
|
|
23
|
|
|
{ |
24
|
|
|
public function testNullIsValid() |
25
|
|
|
{ |
26
|
|
|
$this->validator->validate(null, new Regon()); |
27
|
|
|
|
28
|
|
|
$this->assertNoViolation(); |
29
|
|
|
} |
30
|
|
|
|
31
|
|
|
public function testEmptyStringIsValid() |
32
|
|
|
{ |
33
|
|
|
$this->validator->validate('', new Regon()); |
34
|
|
|
|
35
|
|
|
$this->assertNoViolation(); |
36
|
|
|
} |
37
|
|
|
|
38
|
|
|
/** |
39
|
|
|
* @expectedException \Symfony\Component\Validator\Exception\UnexpectedTypeException |
40
|
|
|
*/ |
41
|
|
|
public function testExpectsStringCompatibleType() |
42
|
|
|
{ |
43
|
|
|
$this->validator->validate(new \stdClass(), new Regon()); |
44
|
|
|
} |
45
|
|
|
|
46
|
|
|
/** |
47
|
|
|
* @dataProvider getValidRegonNumbers |
48
|
|
|
*/ |
49
|
|
|
public function testValidRegon($regon) |
50
|
|
|
{ |
51
|
|
|
$this->validator->validate($regon, new Regon()); |
52
|
|
|
|
53
|
|
|
$this->assertNoViolation(); |
54
|
|
|
} |
55
|
|
|
|
56
|
|
|
/** |
57
|
|
|
* @dataProvider getInvalidRegonNumbers |
58
|
|
|
*/ |
59
|
|
View Code Duplication |
public function testInvalidRegon($regon) |
|
|
|
|
60
|
|
|
{ |
61
|
|
|
$constraint = new Regon(array( |
62
|
|
|
'message' => 'myMessage', |
63
|
|
|
)); |
64
|
|
|
|
65
|
|
|
$this->validator->validate($regon, $constraint); |
66
|
|
|
|
67
|
|
|
$this->buildViolation('myMessage') |
68
|
|
|
->setParameter('{{ value }}', '"' . $regon . '"') |
69
|
|
|
->assertRaised(); |
70
|
|
|
} |
71
|
|
|
|
72
|
|
|
/** |
73
|
|
|
* @return array |
74
|
|
|
*/ |
75
|
|
|
public function getValidRegonNumbers() |
76
|
|
|
{ |
77
|
|
|
return array( |
78
|
|
|
array('123456785'), |
79
|
|
|
array('12345678512347'), |
80
|
|
|
); |
81
|
|
|
} |
82
|
|
|
|
83
|
|
|
/** |
84
|
|
|
* @return array |
85
|
|
|
*/ |
86
|
|
|
public function getInvalidRegonNumbers() |
87
|
|
|
{ |
88
|
|
|
return array( |
89
|
|
|
array('12345678512346'), |
90
|
|
|
array('123456786'), |
91
|
|
|
array('12345678a'), |
92
|
|
|
array('1234567890123'), |
93
|
|
|
array('123456789012'), |
94
|
|
|
array('12345678901'), |
95
|
|
|
array('1234567890'), |
96
|
|
|
array('123456789012345'), |
97
|
|
|
array('12345678'), |
98
|
|
|
); |
99
|
|
|
} |
100
|
|
|
|
101
|
|
|
/** |
102
|
|
|
* @return RegonValidator |
103
|
|
|
*/ |
104
|
|
|
protected function createValidator() |
105
|
|
|
{ |
106
|
|
|
return new RegonValidator(); |
107
|
|
|
} |
108
|
|
|
|
109
|
|
|
protected function getApiVersion() |
110
|
|
|
{ |
111
|
|
|
return Validation::API_VERSION_2_5_BC; |
112
|
|
|
} |
113
|
|
|
} |
114
|
|
|
|
This class, trait or interface has been deprecated. The supplier of the file has supplied an explanatory message.
The explanatory message should give you some clue as to whether and when the type will be removed from the class and what other constant to use instead.