Merge "Handle the tilde notation (~user) of git url"
This commit is contained in:
commit
19473b1dbc
|
@ -250,6 +250,53 @@ public void testSshProtoWithUserPassAndPort() throws Exception {
|
|||
assertEquals(u, new URIish(str));
|
||||
}
|
||||
|
||||
public void testGitWithUserHome() throws Exception {
|
||||
final String str = "git://example.com/~some/p ath";
|
||||
URIish u = new URIish(str);
|
||||
assertEquals("git", u.getScheme());
|
||||
assertTrue(u.isRemote());
|
||||
assertEquals("~some/p ath", u.getPath());
|
||||
assertEquals("example.com", u.getHost());
|
||||
assertNull(u.getUser());
|
||||
assertNull(u.getPass());
|
||||
assertEquals(-1, u.getPort());
|
||||
assertEquals(str, u.toPrivateString());
|
||||
assertEquals(u.setPass(null).toPrivateString(), u.toString());
|
||||
assertEquals(u, new URIish(str));
|
||||
}
|
||||
|
||||
/* Resolving ~user is beyond standard Java API and need more support
|
||||
public void testFileWithUserHome() throws Exception {
|
||||
final String str = "~some/p ath";
|
||||
URIish u = new URIish(str);
|
||||
assertEquals("git", u.getScheme());
|
||||
assertTrue(u.isRemote());
|
||||
assertEquals("~some/p ath", u.getPath());
|
||||
assertEquals("example.com", u.getHost());
|
||||
assertNull(u.getUser());
|
||||
assertNull(u.getPass());
|
||||
assertEquals(-1, u.getPort());
|
||||
assertEquals(str, u.toPrivateString());
|
||||
assertEquals(u.setPass(null).toPrivateString(), u.toString());
|
||||
assertEquals(u, new URIish(str));
|
||||
}
|
||||
*/
|
||||
|
||||
public void testFileWithNoneUserHomeWithTilde() throws Exception {
|
||||
final String str = "/~some/p ath";
|
||||
URIish u = new URIish(str);
|
||||
assertNull(u.getScheme());
|
||||
assertFalse(u.isRemote());
|
||||
assertEquals("/~some/p ath", u.getPath());
|
||||
assertNull(u.getHost());
|
||||
assertNull(u.getUser());
|
||||
assertNull(u.getPass());
|
||||
assertEquals(-1, u.getPort());
|
||||
assertEquals(str, u.toPrivateString());
|
||||
assertEquals(u.setPass(null).toPrivateString(), u.toString());
|
||||
assertEquals(u, new URIish(str));
|
||||
}
|
||||
|
||||
public void testGetNullHumanishName() {
|
||||
try {
|
||||
new URIish().getHumanishName();
|
||||
|
|
|
@ -104,6 +104,9 @@ public URIish(String s) throws URISyntaxException {
|
|||
&& (path.charAt(1) >= 'A' && path.charAt(1) <= 'Z'
|
||||
|| path.charAt(1) >= 'a' && path.charAt(1) <= 'z'))
|
||||
path = path.substring(1);
|
||||
else if (scheme != null && path.length() >= 2
|
||||
&& path.charAt(0) == '/' && path.charAt(1) == '~')
|
||||
path = path.substring(1);
|
||||
} else {
|
||||
matcher = SCP_URI.matcher(s);
|
||||
if (matcher.matches()) {
|
||||
|
|
Loading…
Reference in New Issue