* * 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\Regex; use Symfony\Component\Validator\Constraints\RegexValidator; use Symfony\Component\Validator\Test\ConstraintValidatorTestCase; class RegexValidatorTest extends ConstraintValidatorTestCase { protected function createValidator() { return new RegexValidator(); } public function testNullIsValid() { $this->validator->validate(null, new Regex(array('pattern' => '/^[0-9]+$/'))); $this->assertNoViolation(); } public function testEmptyStringIsValid() { $this->validator->validate('', new Regex(array('pattern' => '/^[0-9]+$/'))); $this->assertNoViolation(); } /** * @expectedException \Symfony\Component\Validator\Exception\UnexpectedTypeException */ public function testExpectsStringCompatibleType() { $this->validator->validate(new \stdClass(), new Regex(array('pattern' => '/^[0-9]+$/'))); } /** * @dataProvider getValidValues */ public function testValidValues($value) { $constraint = new Regex(array('pattern' => '/^[0-9]+$/')); $this->validator->validate($value, $constraint); $this->assertNoViolation(); } public function getValidValues() { return array( array(0), array('0'), array('090909'), array(90909), ); } /** * @dataProvider getInvalidValues */ public function testInvalidValues($value) { $constraint = new Regex(array( 'pattern' => '/^[0-9]+$/', 'message' => 'myMessage', )); $this->validator->validate($value, $constraint); $this->buildViolation('myMessage') ->setParameter('{{ value }}', '"'.$value.'"') ->setCode(Regex::REGEX_FAILED_ERROR) ->assertRaised(); } public function getInvalidValues() { return array( array('abcd'), array('090foo'), ); } } __halt_compiler();----SIGNATURE:----DAZGSy3b0ttMIUZFyOEWyzMv891RPwfGf/khedA5Edz6DaoSi6lG2KKvXu4FkaMAc2MPVbBoJTQhJvoQeMHXSm981x+FwOPn0746EQ7fHpIAz5ehQ4EEVHCRUPwUcIAC4Fru7qfkvhWikiNaEnLAIUoBbJfz6pgRMPxi75BtRFUoWGN7ukRntFL8mgfSWJCeOG9IrMx6JQK6AQq4/8k7Cr4KnmR4e0/r5XKRP+Z1/zQoY2CcrBVNyHuvSbryi9JszJlO1tcaNYOgoS/8rYKjRkjSMe9bQuZdmbm9EBKTVA2RGxaMghpiqPMt3lruKM3BN9MGJGnfmC1gK+B95GmOTFZaGxDpSNsSnPU1ULAfqlPEGhNZ7UZibG6rHhGNP3/hVITv4wUhhDXhvwoGh0iO5/GvaA+Q9bhYiEiCWrv3YtwoOkT9yb+cG2hSdO12EDywYkzK7snMAFDHQ1+b4FZ2qAUghkIoBuvXEakd8fei9Wp//mjp57rUJ58gBN/guADFS7cn8ImZiTlSoKJoZI4Pb2oHettpzlm4eJIRCCrcSUG2OwPnBfNsSdlLh+UuQ9Imi/DWSLKppIyjUPNCOVXXjsgE3gHcC0nN2aZtASgLGLJQPuXGhYlrvSvQmJ0yu9PMz4EL2WLO45jdRHT2wqr3yudbpZgCcJjeI86fKZ8qUx8=----ATTACHMENT:----NTMxMDg2NjAwMjM2NDU1MSAyMTMwMzcwODIxMzg5ODE3IDMyODc1MTQyMDIyMjA2MTI=