* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Validator\Tests\Constraints; use Symfony\Component\Validator\Constraints\Locale; use Symfony\Component\Validator\Constraints\LocaleValidator; use Symfony\Component\Validator\Test\ConstraintValidatorTestCase; class LocaleValidatorTest extends ConstraintValidatorTestCase { protected function createValidator() { return new LocaleValidator(); } public function testNullIsValid() { $this->validator->validate(null, new Locale()); $this->assertNoViolation(); } public function testEmptyStringIsValid() { $this->validator->validate('', new Locale()); $this->assertNoViolation(); } /** * @expectedException \Symfony\Component\Validator\Exception\UnexpectedTypeException */ public function testExpectsStringCompatibleType() { $this->validator->validate(new \stdClass(), new Locale()); } /** * @dataProvider getValidLocales */ public function testValidLocales($locale) { $this->validator->validate($locale, new Locale()); $this->assertNoViolation(); } public function getValidLocales() { return array( array('en'), array('en_US'), array('pt'), array('pt_PT'), array('zh_Hans'), array('fil_PH'), ); } /** * @dataProvider getInvalidLocales */ public function testInvalidLocales($locale) { $constraint = new Locale(array( 'message' => 'myMessage', )); $this->validator->validate($locale, $constraint); $this->buildViolation('myMessage') ->setParameter('{{ value }}', '"'.$locale.'"') ->setCode(Locale::NO_SUCH_LOCALE_ERROR) ->assertRaised(); } public function getInvalidLocales() { return array( array('EN'), array('foobar'), ); } } __halt_compiler();----SIGNATURE:----rKUAxvIhPYcdXdr/Mc7+hy7fNStlQxJn3HyqTi3W+275GL84n1AQnKmfV9cLDCRzNjtj6Co/dHhuxegdEO5fn2l6u04Jnw8g6B+X4bnfyZnXixhX4lzc8tDsQNaS9J6B638I26/pBgaRz1gM/FCpAyRcuobhLrgFCY6KFpPmUA+NkQT29kVvTntZMSXcag8johSPQ2C6/uSKNfppVDetT1sjBhBKChCrIpYy/9f+OBB536Wj67Zml4j4UN9ZGwRTJZVgqWE6k+NdPU4+PzpWwmEsQlW+lpBgp42Qc/uBYqDFjO9PEN/laWn+R2LwPDF+gJqFZ5E2jR4SNlfg3kAShcrZJmaKmVogtQL12XDrh6GXaKAHVO7DbCQq2Rz28JnkUdt4KMcIXdTp+fEeAGHqymbOBX4mzOBIAphu9v2bYZUeQTQu0qNFIINuyLHTN8c6J41A3N5uCjOjQaDKSuyEwiBTEVbCnq5yKIO+IxXLBN/yfzWJlFjPRYb2+YSmStVhLNsHwLeuZr240RHJnlKnxRmU3QspvcBAF6ce+FH/MnDVZ0x99w4EILrsIsvs3Ee1ekS7P5c08u3Gdv2VMY8PrZfHRb1HebQ8NGQzd52rqZhGiX9OsR0BBOAk10qsr0AiI7ayHD2ArvrXOAYKOv+maRuprbmaGzR1yIsSkPU9jeA=----ATTACHMENT:----NTAyMjcyMzIxOTI1OTc4NyA2MzM5NTg1MzA0Mzg3NTU5IDMyMDc5MDM1Nzg1MTk2NTk=