class RegexTest in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/symfony/validator/Tests/Constraints/RegexTest.php \Constraints\RegexTest
@author Bernhard Schussek <bschussek@gmail.com>
Hierarchy
- class \Constraints\RegexTest extends \Constraints\PHPUnit_Framework_TestCase
Expanded class hierarchy of RegexTest
File
- vendor/
symfony/ validator/ Tests/ Constraints/ RegexTest.php, line 19
Namespace
ConstraintsView source
class RegexTest extends \PHPUnit_Framework_TestCase {
public function testConstraintGetDefaultOption() {
$constraint = new Regex('/^[0-9]+$/');
$this
->assertSame('/^[0-9]+$/', $constraint->pattern);
}
public function provideHtmlPatterns() {
return array(
// HTML5 wraps the pattern in ^(?:pattern)$
array(
'/^[0-9]+$/',
'[0-9]+',
),
array(
'/[0-9]+$/',
'.*[0-9]+',
),
array(
'/^[0-9]+/',
'[0-9]+.*',
),
array(
'/[0-9]+/',
'.*[0-9]+.*',
),
// We need a smart way to allow matching of patterns that contain
// ^ and $ at various sub-clauses of an or-clause
// .*(pattern).* seems to work correctly
array(
'/[0-9]$|[a-z]+/',
'.*([0-9]$|[a-z]+).*',
),
array(
'/[0-9]$|^[a-z]+/',
'.*([0-9]$|^[a-z]+).*',
),
array(
'/^[0-9]|[a-z]+$/',
'.*(^[0-9]|[a-z]+$).*',
),
// Unescape escaped delimiters
array(
'/^[0-9]+\\/$/',
'[0-9]+/',
),
array(
'#^[0-9]+\\#$#',
'[0-9]+#',
),
// Cannot be converted
array(
'/^[0-9]+$/i',
null,
),
// Inverse matches are simple, just wrap in
// ((?!pattern).)*
array(
'/^[0-9]+$/',
'((?!^[0-9]+$).)*',
false,
),
array(
'/[0-9]+$/',
'((?![0-9]+$).)*',
false,
),
array(
'/^[0-9]+/',
'((?!^[0-9]+).)*',
false,
),
array(
'/[0-9]+/',
'((?![0-9]+).)*',
false,
),
array(
'/[0-9]$|[a-z]+/',
'((?![0-9]$|[a-z]+).)*',
false,
),
array(
'/[0-9]$|^[a-z]+/',
'((?![0-9]$|^[a-z]+).)*',
false,
),
array(
'/^[0-9]|[a-z]+$/',
'((?!^[0-9]|[a-z]+$).)*',
false,
),
array(
'/^[0-9]+\\/$/',
'((?!^[0-9]+/$).)*',
false,
),
array(
'#^[0-9]+\\#$#',
'((?!^[0-9]+#$).)*',
false,
),
array(
'/^[0-9]+$/i',
null,
false,
),
);
}
/**
* @dataProvider provideHtmlPatterns
*/
public function testGetHtmlPattern($pattern, $htmlPattern, $match = true) {
$constraint = new Regex(array(
'pattern' => $pattern,
'match' => $match,
));
$this
->assertSame($pattern, $constraint->pattern);
$this
->assertSame($htmlPattern, $constraint
->getHtmlPattern());
}
public function testGetCustomHtmlPattern() {
$constraint = new Regex(array(
'pattern' => '((?![0-9]$|[a-z]+).)*',
'htmlPattern' => 'foobar',
));
$this
->assertSame('((?![0-9]$|[a-z]+).)*', $constraint->pattern);
$this
->assertSame('foobar', $constraint
->getHtmlPattern());
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
RegexTest:: |
public | function | ||
RegexTest:: |
public | function | ||
RegexTest:: |
public | function | ||
RegexTest:: |
public | function | @dataProvider provideHtmlPatterns |