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\Pwz; |
15
|
|
|
use Kiczort\PolishValidatorBundle\Validator\Constraints\PwzValidator; |
16
|
|
|
use Symfony\Component\Validator\Tests\Constraints\AbstractConstraintValidatorTest; |
17
|
|
|
use Symfony\Component\Validator\Validation; |
18
|
|
|
|
19
|
|
|
/** |
20
|
|
|
* @author Michał Mleczko |
21
|
|
|
*/ |
22
|
|
View Code Duplication |
class PwzValidatorTest extends AbstractConstraintValidatorTest |
|
|
|
|
23
|
|
|
{ |
24
|
|
|
public function testNullIsValid() |
25
|
|
|
{ |
26
|
|
|
$this->validator->validate(null, new Pwz()); |
27
|
|
|
|
28
|
|
|
$this->assertNoViolation(); |
29
|
|
|
} |
30
|
|
|
|
31
|
|
|
public function testEmptyStringIsValid() |
32
|
|
|
{ |
33
|
|
|
$this->validator->validate('', new Pwz()); |
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 Pwz()); |
44
|
|
|
} |
45
|
|
|
|
46
|
|
|
/** |
47
|
|
|
* @dataProvider getValidPwzNumbers |
48
|
|
|
*/ |
49
|
|
|
public function testValidPwz($pwz) |
50
|
|
|
{ |
51
|
|
|
$this->validator->validate($pwz, new Pwz()); |
52
|
|
|
|
53
|
|
|
$this->assertNoViolation(); |
54
|
|
|
} |
55
|
|
|
|
56
|
|
|
/** |
57
|
|
|
* @dataProvider getInvalidPwzNumbers |
58
|
|
|
*/ |
59
|
|
|
public function testInvalidPwz($pwz) |
60
|
|
|
{ |
61
|
|
|
$constraint = new Pwz(array( |
62
|
|
|
'message' => 'myMessage', |
63
|
|
|
)); |
64
|
|
|
|
65
|
|
|
$this->validator->validate($pwz, $constraint); |
66
|
|
|
|
67
|
|
|
$this->buildViolation('myMessage') |
68
|
|
|
->setParameter('{{ value }}', '"' . $pwz . '"') |
69
|
|
|
->assertRaised(); |
70
|
|
|
} |
71
|
|
|
|
72
|
|
|
/** |
73
|
|
|
* @return array |
74
|
|
|
*/ |
75
|
|
|
public function getValidPwzNumbers() |
76
|
|
|
{ |
77
|
|
|
return array( |
78
|
|
|
array('7305386'), |
79
|
|
|
array('7520143'), |
80
|
|
|
array('5773472'), |
81
|
|
|
array('1241156'), |
82
|
|
|
array('8839283'), |
83
|
|
|
array('4470910'), |
84
|
|
|
array('4850185'), |
85
|
|
|
); |
86
|
|
|
} |
87
|
|
|
|
88
|
|
|
/** |
89
|
|
|
* @return array |
90
|
|
|
*/ |
91
|
|
|
public function getInvalidPwzNumbers() |
92
|
|
|
{ |
93
|
|
|
return array( |
94
|
|
|
array('0'), |
95
|
|
|
array('0000000000000'), |
96
|
|
|
array('0000000'), |
97
|
|
|
array('1111111'), |
98
|
|
|
array('2222222'), |
99
|
|
|
); |
100
|
|
|
} |
101
|
|
|
|
102
|
|
|
/** |
103
|
|
|
* @return PwzValidator |
104
|
|
|
*/ |
105
|
|
|
protected function createValidator() |
106
|
|
|
{ |
107
|
|
|
return new PwzValidator(); |
108
|
|
|
} |
109
|
|
|
|
110
|
|
|
protected function getApiVersion() |
111
|
|
|
{ |
112
|
|
|
return Validation::API_VERSION_2_5_BC; |
113
|
|
|
} |
114
|
|
|
} |
115
|
|
|
|
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.