class IssnValidatorTest in Plug 7
Hierarchy
- class \Symfony\Component\Validator\Tests\Constraints\AbstractConstraintValidatorTest extends \Symfony\Component\Validator\Tests\Constraints\PHPUnit_Framework_TestCase
- class \Symfony\Component\Validator\Tests\Constraints\IssnValidatorTest
Expanded class hierarchy of IssnValidatorTest
See also
https://en.wikipedia.org/wiki/Issn
File
- lib/
Symfony/ validator/ Symfony/ Component/ Validator/ Tests/ Constraints/ IssnValidatorTest.php, line 21
Namespace
Symfony\Component\Validator\Tests\ConstraintsView source
class IssnValidatorTest extends AbstractConstraintValidatorTest {
protected function getApiVersion() {
return Validation::API_VERSION_2_5;
}
protected function createValidator() {
return new IssnValidator();
}
public function getValidLowerCasedIssn() {
return array(
array(
'2162-321x',
),
array(
'2160-200x',
),
array(
'1537-453x',
),
array(
'1937-710x',
),
array(
'0002-922x',
),
array(
'1553-345x',
),
array(
'1553-619x',
),
);
}
public function getValidNonHyphenatedIssn() {
return array(
array(
'2162321X',
),
array(
'01896016',
),
array(
'15744647',
),
array(
'14350645',
),
array(
'07174055',
),
array(
'20905076',
),
array(
'14401592',
),
);
}
public function getFullValidIssn() {
return array(
array(
'1550-7416',
),
array(
'1539-8560',
),
array(
'2156-5376',
),
array(
'1119-023X',
),
array(
'1684-5315',
),
array(
'1996-0786',
),
array(
'1684-5374',
),
array(
'1996-0794',
),
);
}
public function getValidIssn() {
return array_merge($this
->getValidLowerCasedIssn(), $this
->getValidNonHyphenatedIssn(), $this
->getFullValidIssn());
}
public function getInvalidIssn() {
return array(
array(
0,
Issn::TOO_SHORT_ERROR,
),
array(
'1539',
Issn::TOO_SHORT_ERROR,
),
array(
'2156-537A',
Issn::INVALID_CHARACTERS_ERROR,
),
array(
'1119-0231',
Issn::CHECKSUM_FAILED_ERROR,
),
array(
'1684-5312',
Issn::CHECKSUM_FAILED_ERROR,
),
array(
'1996-0783',
Issn::CHECKSUM_FAILED_ERROR,
),
array(
'1684-537X',
Issn::CHECKSUM_FAILED_ERROR,
),
array(
'1996-0795',
Issn::CHECKSUM_FAILED_ERROR,
),
);
}
public function testNullIsValid() {
$constraint = new Issn();
$this->validator
->validate(null, $constraint);
$this
->assertNoViolation();
}
public function testEmptyStringIsValid() {
$constraint = new Issn();
$this->validator
->validate('', $constraint);
$this
->assertNoViolation();
}
/**
* @expectedException \Symfony\Component\Validator\Exception\UnexpectedTypeException
*/
public function testExpectsStringCompatibleType() {
$constraint = new Issn();
$this->validator
->validate(new \stdClass(), $constraint);
}
/**
* @dataProvider getValidLowerCasedIssn
*/
public function testCaseSensitiveIssns($issn) {
$constraint = new Issn(array(
'caseSensitive' => true,
'message' => 'myMessage',
));
$this->validator
->validate($issn, $constraint);
$this
->buildViolation('myMessage')
->setParameter('{{ value }}', '"' . $issn . '"')
->setCode(Issn::INVALID_CASE_ERROR)
->assertRaised();
}
/**
* @dataProvider getValidNonHyphenatedIssn
*/
public function testRequireHyphenIssns($issn) {
$constraint = new Issn(array(
'requireHyphen' => true,
'message' => 'myMessage',
));
$this->validator
->validate($issn, $constraint);
$this
->buildViolation('myMessage')
->setParameter('{{ value }}', '"' . $issn . '"')
->setCode(Issn::MISSING_HYPHEN_ERROR)
->assertRaised();
}
/**
* @dataProvider getValidIssn
*/
public function testValidIssn($issn) {
$constraint = new Issn();
$this->validator
->validate($issn, $constraint);
$this
->assertNoViolation();
}
/**
* @dataProvider getInvalidIssn
*/
public function testInvalidIssn($issn, $code) {
$constraint = new Issn(array(
'message' => 'myMessage',
));
$this->validator
->validate($issn, $constraint);
$this
->buildViolation('myMessage')
->setParameter('{{ value }}', '"' . $issn . '"')
->setCode($code)
->assertRaised();
}
}