Merge "Bug 484342: Support @ in username in SSH url."
This commit is contained in:
commit
6297c2e92c
|
@ -468,6 +468,48 @@ public void testSshProtoWithUserPassAndPort() throws Exception {
|
|||
assertEquals(u, new URIish(str));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSshProtoWithEmailUserAndPort() throws Exception {
|
||||
final String str = "ssh://user.name@email.com@example.com:33/some/p ath";
|
||||
URIish u = new URIish(str);
|
||||
assertEquals("ssh", u.getScheme());
|
||||
assertTrue(u.isRemote());
|
||||
assertEquals("/some/p ath", u.getRawPath());
|
||||
assertEquals("/some/p ath", u.getPath());
|
||||
assertEquals("example.com", u.getHost());
|
||||
assertEquals("user.name@email.com", u.getUser());
|
||||
assertNull(u.getPass());
|
||||
assertEquals(33, u.getPort());
|
||||
assertEquals("ssh://user.name%40email.com@example.com:33/some/p ath",
|
||||
u.toPrivateString());
|
||||
assertEquals("ssh://user.name%40email.com@example.com:33/some/p%20ath",
|
||||
u.toPrivateASCIIString());
|
||||
assertEquals(u.setPass(null).toPrivateString(), u.toString());
|
||||
assertEquals(u.setPass(null).toPrivateASCIIString(), u.toASCIIString());
|
||||
assertEquals(u, new URIish(str));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSshProtoWithEmailUserPassAndPort() throws Exception {
|
||||
final String str = "ssh://user.name@email.com:pass@wor:d@example.com:33/some/p ath";
|
||||
URIish u = new URIish(str);
|
||||
assertEquals("ssh", u.getScheme());
|
||||
assertTrue(u.isRemote());
|
||||
assertEquals("/some/p ath", u.getRawPath());
|
||||
assertEquals("/some/p ath", u.getPath());
|
||||
assertEquals("example.com", u.getHost());
|
||||
assertEquals("user.name@email.com", u.getUser());
|
||||
assertEquals("pass@wor:d", u.getPass());
|
||||
assertEquals(33, u.getPort());
|
||||
assertEquals("ssh://user.name%40email.com:pass%40wor%3ad@example.com:33/some/p ath",
|
||||
u.toPrivateString());
|
||||
assertEquals("ssh://user.name%40email.com:pass%40wor%3ad@example.com:33/some/p%20ath",
|
||||
u.toPrivateASCIIString());
|
||||
assertEquals(u.setPass(null).toPrivateString(), u.toString());
|
||||
assertEquals(u.setPass(null).toPrivateASCIIString(), u.toASCIIString());
|
||||
assertEquals(u, new URIish(str));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSshProtoWithADUserPassAndPort() throws Exception {
|
||||
final String str = "ssh://DOMAIN\\user:pass@example.com:33/some/p ath";
|
||||
|
|
|
@ -83,7 +83,7 @@ public class URIish implements Serializable {
|
|||
* capturing groups: the first containing the user and the second containing
|
||||
* the password
|
||||
*/
|
||||
private static final String OPT_USER_PWD_P = "(?:([^/:@]+)(?::([^\\\\/]+))?@)?"; //$NON-NLS-1$
|
||||
private static final String OPT_USER_PWD_P = "(?:([^/:]+)(?::([^\\\\/]+))?@)?"; //$NON-NLS-1$
|
||||
|
||||
/**
|
||||
* Part of a pattern which matches the host part of URIs. Defines one
|
||||
|
|
Loading…
Reference in New Issue