* * 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:----Opxz8IjllY4JMGUZgUuN3aBCAGZ3mJYXVsPmmuDNfxJ6l3e4CPODdODgs2yWJHuUF6eM/4BUCbdx55Napw/9zwt/LyqVI1UJ/nGRG//YIRep2/JJzaz5jG0iu8a8MEyoKYax+tMo7eLBMCPOpO7clZ2kUc1U5Up9Wj9zUckDbNE8JL8O8r3+bzupa9E0cC9ByciUk1vRHEukVjLJRon9NZJ67NxWM7OIFr/uKwPZ4KZruuhzP0rbDZM0Bm1UkpVO5oFhnVfXxhfCrcnOHDDXOU85GF9GUCJdN8wu3Bcv9A8kqD87EIa07eD+pAAghA02wgMbJ1tOWtPR+OrG2lGeI90u+I/TSUtcxL8Li7Jpm0sdgldmzilZQMH6eWYl2TFsvj0gYKfAAeRWG1LAKrt5ea6U0WiXdVpubgmsLIxz9TkuoelNbtR38Vjf1oCbVxKXIV8tSmiqN3y03dWR4HmzktT1Ecdga32UWNvkwFoZRBwZ16GA+XqOkAw2ocPrQYGwGVQb0VzU6NQMQWSeAbdnkBVaS7edx9+49et7OMrGQxbYVmTFPUWlqjHiuFw+2HXTcDhbXANEEbldJ/BwASYq/iqP2tbzoUvurwiDnJmFokcxSfZdJXzR9tcJV1UkstOjYdZ09Q6uOIrYfGmrtI5GdT9BtCOjxosLbhorZ3wDQ7M=----ATTACHMENT:----MTU3NTYzMjcwODkxMjczNyA2Nzc0MjUxNDk3MTI1MjI0IDg3NTMwOTI1NDQwMTYyNjg=