Fixed ACE domain checks on UrlValidator (#10031)

This commit is contained in:
Diego Agulló 2014-02-16 21:03:31 +01:00 committed by Fabien Potencier
parent 22caebcd8e
commit 7a2f154533
2 changed files with 14 additions and 1 deletions

View File

@ -25,7 +25,7 @@ class UrlValidator extends ConstraintValidator
const PATTERN = '~^ const PATTERN = '~^
(%s):// # protocol (%s):// # protocol
( (
([\pL\pN\pS-]+\.)+[\pL]+ # a domain name ([\pL\pN\pS-]+\.)+([\pL]|xn\-\-[\pL\pN-]+)+ # a domain name
| # or | # or
\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} # a IP address \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} # a IP address
| # or | # or

View File

@ -91,15 +91,28 @@ class UrlValidatorTest extends \PHPUnit_Framework_TestCase
array('http://[::1]:80/'), array('http://[::1]:80/'),
array('http://[1:2:3::4:5:6:7]/'), array('http://[1:2:3::4:5:6:7]/'),
array('http://sãopaulo.com/'), array('http://sãopaulo.com/'),
array('http://xn--sopaulo-xwa.com/'),
array('http://sãopaulo.com.br/'), array('http://sãopaulo.com.br/'),
array('http://xn--sopaulo-xwa.com.br/'),
array('http://пример.испытание/'), array('http://пример.испытание/'),
array('http://xn--e1afmkfd.xn--80akhbyknj4f/'),
array('http://مثال.إختبار/'), array('http://مثال.إختبار/'),
array('http://xn--mgbh0fb.xn--kgbechtv/'),
array('http://例子.测试/'), array('http://例子.测试/'),
array('http://xn--fsqu00a.xn--0zwm56d/'),
array('http://例子.測試/'), array('http://例子.測試/'),
array('http://xn--fsqu00a.xn--g6w251d/'),
array('http://例え.テスト/'), array('http://例え.テスト/'),
array('http://xn--r8jz45g.xn--zckzah/'),
array('http://مثال.آزمایشی/'), array('http://مثال.آزمایشی/'),
array('http://xn--mgbh0fb.xn--hgbk6aj7f53bba/'),
array('http://실례.테스트/'), array('http://실례.테스트/'),
array('http://xn--9n2bp8q.xn--9t4b11yi5a/'),
array('http://العربية.idn.icann.org/'), array('http://العربية.idn.icann.org/'),
array('http://xn--ogb.idn.icann.org/'),
array('http://xn--e1afmkfd.xn--80akhbyknj4f.xn--e1afmkfd/'),
array('http://xn--espaa-rta.xn--ca-ol-fsay5a/'),
array('http://xn--d1abbgf6aiiy.xn--p1ai/'),
array('http://☎.com/'), array('http://☎.com/'),
); );
} }