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));
|
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() {
|
public void testGetNullHumanishName() {
|
||||||
try {
|
try {
|
||||||
new URIish().getHumanishName();
|
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.charAt(1) >= 'a' && path.charAt(1) <= 'z'))
|
|| path.charAt(1) >= 'a' && path.charAt(1) <= 'z'))
|
||||||
path = path.substring(1);
|
path = path.substring(1);
|
||||||
|
else if (scheme != null && path.length() >= 2
|
||||||
|
&& path.charAt(0) == '/' && path.charAt(1) == '~')
|
||||||
|
path = path.substring(1);
|
||||||
} else {
|
} else {
|
||||||
matcher = SCP_URI.matcher(s);
|
matcher = SCP_URI.matcher(s);
|
||||||
if (matcher.matches()) {
|
if (matcher.matches()) {
|
||||||
|
|
Loading…
Reference in New Issue