* * 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:----EeH7Ld4MzhPmhxNxrPPLXyd3p4znFuq8Bq+2XsUaKMXA8g/o21TpSHPJnNQDSWWlqnAcwwF08sBpDByenfCwy7uieNNh0TWqTQpE5Dx3bYj0enaEsPsY9lhg9QZ02ZlVkzij3JlxQTWLRQTTeCSIW7RLGDkdv+16Nowpp8EIFvQq5WUoqKtM+6CI1eTV07PfAsCMsdxL/HgU9bs6QC+jK4o5CLUW6sNhBpotdUwjHrSPICfJ+frocXfKOoWMkBBuDuIfJvxWxzo1RQiCEvVbZbhR54aEXl3n+ktUklwhW9HDKdcj8m2VTu6P31o/5o8+ow4kLlo10kf9uW4Ib+UsFwCcy9CUo4RmuAZhIYKxhswgmSdsbw8HNSYnsx6EvuZEQCdlfRn7pB5ha6714Jfsi60CaASO1gnt4U1ytQY8Sx9lEQVFV/LepuEFmyotoOt2HHH6Wg/IZ/iMVujexME4B1dUd8JaiG/rJ2XOx+KrYFJVF+W1Th2nE2efz4rD7m6DVvnMAr7de+R7kZRhb81C0tBIiHlfM50Ea/CHAaa7MsYUwB5kj8mCzxE0vnJMnErj5Qm/r4yb53cjJgj4BgYJfplOqjNMi+1Cj4Ohm7g0f4Lzijawrl1y6b0R/OVa51//W3joTxQ4GNJ4LO+EYamPY/qwxAsDyR5rubQw7Oh0b68=----ATTACHMENT:----NzcyMjI1MDM5MzE2ODY4NSAyOTg2NjAyMzMzNjY3NzE1IDQ3MDQ3NDI5ODc0ODgwMQ==