Allow basic auth in url.
Improve regex. Add tests.
This commit is contained in:
parent
7b3bd56f77
commit
f1ea987f35
@ -24,6 +24,7 @@ class UrlValidator extends ConstraintValidator
|
|||||||
{
|
{
|
||||||
const PATTERN = '~^
|
const PATTERN = '~^
|
||||||
(%s):// # protocol
|
(%s):// # protocol
|
||||||
|
(([\pL\pN-]+:)?([\pL\pN-]+)@)? # basic auth
|
||||||
(
|
(
|
||||||
([\pL\pN\pS-\.])+(\.?([\pL]|xn\-\-[\pL\pN-]+)+\.?) # a domain name
|
([\pL\pN\pS-\.])+(\.?([\pL]|xn\-\-[\pL\pN-]+)+\.?) # a domain name
|
||||||
| # or
|
| # or
|
||||||
|
@ -116,6 +116,8 @@ class UrlValidatorTest extends \PHPUnit_Framework_TestCase
|
|||||||
array('http://xn--espaa-rta.xn--ca-ol-fsay5a/'),
|
array('http://xn--espaa-rta.xn--ca-ol-fsay5a/'),
|
||||||
array('http://xn--d1abbgf6aiiy.xn--p1ai/'),
|
array('http://xn--d1abbgf6aiiy.xn--p1ai/'),
|
||||||
array('http://☎.com/'),
|
array('http://☎.com/'),
|
||||||
|
array('http://username:password@symfony.com'),
|
||||||
|
array('http://user-name@symfony.com'),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -155,6 +157,10 @@ class UrlValidatorTest extends \PHPUnit_Framework_TestCase
|
|||||||
array('ftp://[::1]/'),
|
array('ftp://[::1]/'),
|
||||||
array('http://[::1'),
|
array('http://[::1'),
|
||||||
array('http://hello.☎/'),
|
array('http://hello.☎/'),
|
||||||
|
array('http://:password@symfony.com'),
|
||||||
|
array('http://:password@@symfony.com'),
|
||||||
|
array('http://username:passwordsymfony.com'),
|
||||||
|
array('http://usern@me:password@symfony.com'),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user