/** * @dataProvider providerIsValid */ public function testIsValid($value, $expected) { $regex = '/regex/'; $code = 'error.validation.regex'; $message = 'Field does not match ' . $regex; $validator = new RegexValidator(array('regex' => $regex)); $result = $validator->isValid($value); $this->assertEquals($expected, $result, $value); if (!$expected) { $expectedParameters = array('value' => $value, 'regex' => $regex); $expectedErrors = array(new ValidationError($code, $message, $expectedParameters)); $resultErrors = $validator->getErrors(); $this->assertEquals($expectedErrors, $resultErrors); } }
protected function performRegexTest($tests, $property) { $validator = new UrlValidator(); $regex = Reflection::getProperty($validator, $property); $regexValidator = new RegexValidator(array('regex' => '/^' . $regex . '$/')); foreach ($tests as $test) { $result = $regexValidator->isValid($test['value']); $this->assertEquals($test['expected'], $result, $test['value'] . ' - ' . $regex); } }