|
|
@ -88,8 +88,10 @@ public class URIishTest { |
|
|
|
URIish u = new URIish(str); |
|
|
|
URIish u = new URIish(str); |
|
|
|
assertNull(u.getScheme()); |
|
|
|
assertNull(u.getScheme()); |
|
|
|
assertFalse(u.isRemote()); |
|
|
|
assertFalse(u.isRemote()); |
|
|
|
|
|
|
|
assertEquals(str, u.getRawPath()); |
|
|
|
assertEquals(str, u.getPath()); |
|
|
|
assertEquals(str, u.getPath()); |
|
|
|
assertEquals(str, u.toString()); |
|
|
|
assertEquals(str, u.toString()); |
|
|
|
|
|
|
|
assertEquals(str, u.toASCIIString()); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -99,8 +101,10 @@ public class URIishTest { |
|
|
|
URIish u = new URIish(str); |
|
|
|
URIish u = new URIish(str); |
|
|
|
assertNull(u.getScheme()); |
|
|
|
assertNull(u.getScheme()); |
|
|
|
assertFalse(u.isRemote()); |
|
|
|
assertFalse(u.isRemote()); |
|
|
|
|
|
|
|
assertEquals(str, u.getRawPath()); |
|
|
|
assertEquals(str, u.getPath()); |
|
|
|
assertEquals(str, u.getPath()); |
|
|
|
assertEquals(str, u.toString()); |
|
|
|
assertEquals(str, u.toString()); |
|
|
|
|
|
|
|
assertEquals(str, u.toASCIIString()); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -110,8 +114,10 @@ public class URIishTest { |
|
|
|
URIish u = new URIish(str); |
|
|
|
URIish u = new URIish(str); |
|
|
|
assertNull(u.getScheme()); |
|
|
|
assertNull(u.getScheme()); |
|
|
|
assertFalse(u.isRemote()); |
|
|
|
assertFalse(u.isRemote()); |
|
|
|
|
|
|
|
assertEquals("D:\\m y", u.getRawPath()); |
|
|
|
assertEquals("D:\\m y", u.getPath()); |
|
|
|
assertEquals("D:\\m y", u.getPath()); |
|
|
|
assertEquals("D:\\m y", u.toString()); |
|
|
|
assertEquals("D:\\m y", u.toString()); |
|
|
|
|
|
|
|
assertEquals("D:\\m y", u.toASCIIString()); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -121,8 +127,10 @@ public class URIishTest { |
|
|
|
URIish u = new URIish(str); |
|
|
|
URIish u = new URIish(str); |
|
|
|
assertNull(u.getScheme()); |
|
|
|
assertNull(u.getScheme()); |
|
|
|
assertFalse(u.isRemote()); |
|
|
|
assertFalse(u.isRemote()); |
|
|
|
|
|
|
|
assertEquals(str, u.getRawPath()); |
|
|
|
assertEquals(str, u.getPath()); |
|
|
|
assertEquals(str, u.getPath()); |
|
|
|
assertEquals(str, u.toString()); |
|
|
|
assertEquals(str, u.toString()); |
|
|
|
|
|
|
|
assertEquals(str, u.toASCIIString()); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -132,8 +140,10 @@ public class URIishTest { |
|
|
|
URIish u = new URIish(str); |
|
|
|
URIish u = new URIish(str); |
|
|
|
assertNull(u.getScheme()); |
|
|
|
assertNull(u.getScheme()); |
|
|
|
assertFalse(u.isRemote()); |
|
|
|
assertFalse(u.isRemote()); |
|
|
|
|
|
|
|
assertEquals("\\\\some\\place", u.getRawPath()); |
|
|
|
assertEquals("\\\\some\\place", u.getPath()); |
|
|
|
assertEquals("\\\\some\\place", u.getPath()); |
|
|
|
assertEquals("\\\\some\\place", u.toString()); |
|
|
|
assertEquals("\\\\some\\place", u.toString()); |
|
|
|
|
|
|
|
assertEquals("\\\\some\\place", u.toASCIIString()); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -143,8 +153,49 @@ public class URIishTest { |
|
|
|
URIish u = new URIish(str); |
|
|
|
URIish u = new URIish(str); |
|
|
|
assertEquals("file", u.getScheme()); |
|
|
|
assertEquals("file", u.getScheme()); |
|
|
|
assertFalse(u.isRemote()); |
|
|
|
assertFalse(u.isRemote()); |
|
|
|
|
|
|
|
assertEquals("/home/m y", u.getRawPath()); |
|
|
|
assertEquals("/home/m y", u.getPath()); |
|
|
|
assertEquals("/home/m y", u.getPath()); |
|
|
|
assertEquals(str, u.toString()); |
|
|
|
assertEquals("file:///home/m y", u.toString()); |
|
|
|
|
|
|
|
assertEquals("file:///home/m%20y", u.toASCIIString()); |
|
|
|
|
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
|
|
public void testURIEncode_00() throws Exception { |
|
|
|
|
|
|
|
final String str = "file:///home/m%00y"; |
|
|
|
|
|
|
|
URIish u = new URIish(str); |
|
|
|
|
|
|
|
assertEquals("file", u.getScheme()); |
|
|
|
|
|
|
|
assertFalse(u.isRemote()); |
|
|
|
|
|
|
|
assertEquals("/home/m%00y", u.getRawPath()); |
|
|
|
|
|
|
|
assertEquals("/home/m\u0000y", u.getPath()); |
|
|
|
|
|
|
|
assertEquals("file:///home/m%00y", u.toString()); |
|
|
|
|
|
|
|
assertEquals("file:///home/m%00y", u.toASCIIString()); |
|
|
|
|
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
|
|
public void testURIEncode_0a() throws Exception { |
|
|
|
|
|
|
|
final String str = "file:///home/m%0ay"; |
|
|
|
|
|
|
|
URIish u = new URIish(str); |
|
|
|
|
|
|
|
assertEquals("file", u.getScheme()); |
|
|
|
|
|
|
|
assertFalse(u.isRemote()); |
|
|
|
|
|
|
|
assertEquals("/home/m%0ay", u.getRawPath()); |
|
|
|
|
|
|
|
assertEquals("/home/m\ny", u.getPath()); |
|
|
|
|
|
|
|
assertEquals("file:///home/m%0ay", u.toString()); |
|
|
|
|
|
|
|
assertEquals("file:///home/m%0ay", u.toASCIIString()); |
|
|
|
|
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
|
|
public void testURIEncode_unicode() throws Exception { |
|
|
|
|
|
|
|
final String str = "file:///home/m%c3%a5y"; |
|
|
|
|
|
|
|
URIish u = new URIish(str); |
|
|
|
|
|
|
|
assertEquals("file", u.getScheme()); |
|
|
|
|
|
|
|
assertFalse(u.isRemote()); |
|
|
|
|
|
|
|
assertEquals("/home/m%c3%a5y", u.getRawPath()); |
|
|
|
|
|
|
|
assertEquals("/home/m\u00e5y", u.getPath()); |
|
|
|
|
|
|
|
assertEquals("file:///home/m%c3%a5y", u.toString()); |
|
|
|
|
|
|
|
assertEquals("file:///home/m%c3%a5y", u.toASCIIString()); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -154,8 +205,10 @@ public class URIishTest { |
|
|
|
URIish u = new URIish(str); |
|
|
|
URIish u = new URIish(str); |
|
|
|
assertEquals("file", u.getScheme()); |
|
|
|
assertEquals("file", u.getScheme()); |
|
|
|
assertFalse(u.isRemote()); |
|
|
|
assertFalse(u.isRemote()); |
|
|
|
|
|
|
|
assertEquals("D:/m y", u.getRawPath()); |
|
|
|
assertEquals("D:/m y", u.getPath()); |
|
|
|
assertEquals("D:/m y", u.getPath()); |
|
|
|
assertEquals(str, u.toString()); |
|
|
|
assertEquals("file:///D:/m y", u.toString()); |
|
|
|
|
|
|
|
assertEquals("file:///D:/m%20y", u.toASCIIString()); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -166,8 +219,10 @@ public class URIishTest { |
|
|
|
assertEquals("git", u.getScheme()); |
|
|
|
assertEquals("git", u.getScheme()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
|
|
|
|
assertEquals("/home/m y", u.getRawPath()); |
|
|
|
assertEquals("/home/m y", u.getPath()); |
|
|
|
assertEquals("/home/m y", u.getPath()); |
|
|
|
assertEquals(str, u.toString()); |
|
|
|
assertEquals("git://example.com/home/m y", u.toString()); |
|
|
|
|
|
|
|
assertEquals("git://example.com/home/m%20y", u.toASCIIString()); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -178,9 +233,11 @@ public class URIishTest { |
|
|
|
assertEquals("git", u.getScheme()); |
|
|
|
assertEquals("git", u.getScheme()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
|
|
|
|
assertEquals("/home/m y", u.getRawPath()); |
|
|
|
assertEquals("/home/m y", u.getPath()); |
|
|
|
assertEquals("/home/m y", u.getPath()); |
|
|
|
assertEquals(333, u.getPort()); |
|
|
|
assertEquals(333, u.getPort()); |
|
|
|
assertEquals(str, u.toString()); |
|
|
|
assertEquals("git://example.com:333/home/m y", u.toString()); |
|
|
|
|
|
|
|
assertEquals("git://example.com:333/home/m%20y", u.toASCIIString()); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -190,10 +247,12 @@ public class URIishTest { |
|
|
|
URIish u = new URIish(str); |
|
|
|
URIish u = new URIish(str); |
|
|
|
assertEquals("git", u.getScheme()); |
|
|
|
assertEquals("git", u.getScheme()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
|
|
|
|
assertEquals("D:/m y", u.getRawPath()); |
|
|
|
assertEquals("D:/m y", u.getPath()); |
|
|
|
assertEquals("D:/m y", u.getPath()); |
|
|
|
assertEquals(338, u.getPort()); |
|
|
|
assertEquals(338, u.getPort()); |
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
assertEquals(str, u.toString()); |
|
|
|
assertEquals("git://example.com:338/D:/m y", u.toString()); |
|
|
|
|
|
|
|
assertEquals("git://example.com:338/D:/m%20y", u.toASCIIString()); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -203,10 +262,27 @@ public class URIishTest { |
|
|
|
URIish u = new URIish(str); |
|
|
|
URIish u = new URIish(str); |
|
|
|
assertEquals("git", u.getScheme()); |
|
|
|
assertEquals("git", u.getScheme()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
|
|
|
|
assertEquals("D:/m y", u.getRawPath()); |
|
|
|
assertEquals("D:/m y", u.getPath()); |
|
|
|
assertEquals("D:/m y", u.getPath()); |
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
assertEquals(-1, u.getPort()); |
|
|
|
assertEquals(-1, u.getPort()); |
|
|
|
|
|
|
|
assertEquals("git://example.com/D:/m y", u.toString()); |
|
|
|
|
|
|
|
assertEquals("git://example.com/D:/m%20y", u.toASCIIString()); |
|
|
|
|
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
|
|
public void testScpStyleNoURIDecoding() throws Exception { |
|
|
|
|
|
|
|
final String str = "example.com:some/p%20ath"; |
|
|
|
|
|
|
|
URIish u = new URIish(str); |
|
|
|
|
|
|
|
assertNull(u.getScheme()); |
|
|
|
|
|
|
|
assertTrue(u.isRemote()); |
|
|
|
|
|
|
|
assertEquals("some/p%20ath", u.getRawPath()); |
|
|
|
|
|
|
|
assertEquals("some/p%20ath", u.getPath()); |
|
|
|
|
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
|
|
|
|
assertEquals(-1, u.getPort()); |
|
|
|
assertEquals(str, u.toString()); |
|
|
|
assertEquals(str, u.toString()); |
|
|
|
|
|
|
|
assertEquals(str, u.toASCIIString()); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -216,10 +292,12 @@ public class URIishTest { |
|
|
|
URIish u = new URIish(str); |
|
|
|
URIish u = new URIish(str); |
|
|
|
assertNull(u.getScheme()); |
|
|
|
assertNull(u.getScheme()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
|
|
|
|
assertEquals("some/p ath", u.getRawPath()); |
|
|
|
assertEquals("some/p ath", u.getPath()); |
|
|
|
assertEquals("some/p ath", u.getPath()); |
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
assertEquals(-1, u.getPort()); |
|
|
|
assertEquals(-1, u.getPort()); |
|
|
|
assertEquals(str, u.toString()); |
|
|
|
assertEquals(str, u.toString()); |
|
|
|
|
|
|
|
assertEquals(str, u.toASCIIString()); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -229,10 +307,12 @@ public class URIishTest { |
|
|
|
URIish u = new URIish(str); |
|
|
|
URIish u = new URIish(str); |
|
|
|
assertNull(u.getScheme()); |
|
|
|
assertNull(u.getScheme()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
|
|
|
|
assertEquals("/some/p ath", u.getRawPath()); |
|
|
|
assertEquals("/some/p ath", u.getPath()); |
|
|
|
assertEquals("/some/p ath", u.getPath()); |
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
assertEquals(-1, u.getPort()); |
|
|
|
assertEquals(-1, u.getPort()); |
|
|
|
assertEquals(str, u.toString()); |
|
|
|
assertEquals(str, u.toString()); |
|
|
|
|
|
|
|
assertEquals(str, u.toASCIIString()); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -242,11 +322,13 @@ public class URIishTest { |
|
|
|
URIish u = new URIish(str); |
|
|
|
URIish u = new URIish(str); |
|
|
|
assertNull(u.getScheme()); |
|
|
|
assertNull(u.getScheme()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
|
|
|
|
assertEquals("some/p ath", u.getRawPath()); |
|
|
|
assertEquals("some/p ath", u.getPath()); |
|
|
|
assertEquals("some/p ath", u.getPath()); |
|
|
|
assertEquals("user", u.getUser()); |
|
|
|
assertEquals("user", u.getUser()); |
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
assertEquals(-1, u.getPort()); |
|
|
|
assertEquals(-1, u.getPort()); |
|
|
|
assertEquals(str, u.toString()); |
|
|
|
assertEquals(str, u.toString()); |
|
|
|
|
|
|
|
assertEquals(str, u.toASCIIString()); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -256,10 +338,12 @@ public class URIishTest { |
|
|
|
URIish u = new URIish(str); |
|
|
|
URIish u = new URIish(str); |
|
|
|
assertEquals("git+ssh", u.getScheme()); |
|
|
|
assertEquals("git+ssh", u.getScheme()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
|
|
|
|
assertEquals("/some/p ath", u.getRawPath()); |
|
|
|
assertEquals("/some/p ath", u.getPath()); |
|
|
|
assertEquals("/some/p ath", u.getPath()); |
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
assertEquals(-1, u.getPort()); |
|
|
|
assertEquals(-1, u.getPort()); |
|
|
|
assertEquals(str, u.toString()); |
|
|
|
assertEquals("git+ssh://example.com/some/p ath", u.toString()); |
|
|
|
|
|
|
|
assertEquals("git+ssh://example.com/some/p%20ath", u.toASCIIString()); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -269,10 +353,12 @@ public class URIishTest { |
|
|
|
URIish u = new URIish(str); |
|
|
|
URIish u = new URIish(str); |
|
|
|
assertEquals("ssh+git", u.getScheme()); |
|
|
|
assertEquals("ssh+git", u.getScheme()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
|
|
|
|
assertEquals("/some/p ath", u.getRawPath()); |
|
|
|
assertEquals("/some/p ath", u.getPath()); |
|
|
|
assertEquals("/some/p ath", u.getPath()); |
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
assertEquals(-1, u.getPort()); |
|
|
|
assertEquals(-1, u.getPort()); |
|
|
|
assertEquals(str, u.toString()); |
|
|
|
assertEquals("ssh+git://example.com/some/p ath", u.toString()); |
|
|
|
|
|
|
|
assertEquals("ssh+git://example.com/some/p%20ath", u.toASCIIString()); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -282,10 +368,12 @@ public class URIishTest { |
|
|
|
URIish u = new URIish(str); |
|
|
|
URIish u = new URIish(str); |
|
|
|
assertEquals("ssh", u.getScheme()); |
|
|
|
assertEquals("ssh", u.getScheme()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
|
|
|
|
assertEquals("/some/p ath", u.getRawPath()); |
|
|
|
assertEquals("/some/p ath", u.getPath()); |
|
|
|
assertEquals("/some/p ath", u.getPath()); |
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
assertEquals(-1, u.getPort()); |
|
|
|
assertEquals(-1, u.getPort()); |
|
|
|
assertEquals(str, u.toString()); |
|
|
|
assertEquals("ssh://example.com/some/p ath", u.toString()); |
|
|
|
|
|
|
|
assertEquals("ssh://example.com/some/p%20ath", u.toASCIIString()); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -295,12 +383,15 @@ public class URIishTest { |
|
|
|
URIish u = new URIish(str); |
|
|
|
URIish u = new URIish(str); |
|
|
|
assertEquals("ssh", u.getScheme()); |
|
|
|
assertEquals("ssh", u.getScheme()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
|
|
|
|
assertEquals("/some/p ath", u.getRawPath()); |
|
|
|
assertEquals("/some/p ath", u.getPath()); |
|
|
|
assertEquals("/some/p ath", u.getPath()); |
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
assertEquals("user", u.getUser()); |
|
|
|
assertEquals("user", u.getUser()); |
|
|
|
assertNull(u.getPass()); |
|
|
|
assertNull(u.getPass()); |
|
|
|
assertEquals(33, u.getPort()); |
|
|
|
assertEquals(33, u.getPort()); |
|
|
|
assertEquals(str, u.toString()); |
|
|
|
assertEquals("ssh://user@example.com:33/some/p ath", u.toString()); |
|
|
|
|
|
|
|
assertEquals("ssh://user@example.com:33/some/p%20ath", |
|
|
|
|
|
|
|
u.toASCIIString()); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -310,13 +401,18 @@ public class URIishTest { |
|
|
|
URIish u = new URIish(str); |
|
|
|
URIish u = new URIish(str); |
|
|
|
assertEquals("ssh", u.getScheme()); |
|
|
|
assertEquals("ssh", u.getScheme()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
|
|
|
|
assertEquals("/some/p ath", u.getRawPath()); |
|
|
|
assertEquals("/some/p ath", u.getPath()); |
|
|
|
assertEquals("/some/p ath", u.getPath()); |
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
assertEquals("user", u.getUser()); |
|
|
|
assertEquals("user", u.getUser()); |
|
|
|
assertEquals("pass", u.getPass()); |
|
|
|
assertEquals("pass", u.getPass()); |
|
|
|
assertEquals(33, u.getPort()); |
|
|
|
assertEquals(33, u.getPort()); |
|
|
|
assertEquals(str, u.toPrivateString()); |
|
|
|
assertEquals("ssh://user:pass@example.com:33/some/p ath", |
|
|
|
|
|
|
|
u.toPrivateString()); |
|
|
|
|
|
|
|
assertEquals("ssh://user:pass@example.com:33/some/p%20ath", |
|
|
|
|
|
|
|
u.toPrivateASCIIString()); |
|
|
|
assertEquals(u.setPass(null).toPrivateString(), u.toString()); |
|
|
|
assertEquals(u.setPass(null).toPrivateString(), u.toString()); |
|
|
|
|
|
|
|
assertEquals(u.setPass(null).toPrivateASCIIString(), u.toASCIIString()); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -326,13 +422,62 @@ public class URIishTest { |
|
|
|
URIish u = new URIish(str); |
|
|
|
URIish u = new URIish(str); |
|
|
|
assertEquals("ssh", u.getScheme()); |
|
|
|
assertEquals("ssh", u.getScheme()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
|
|
|
|
assertEquals("/some/p ath", u.getRawPath()); |
|
|
|
assertEquals("/some/p ath", u.getPath()); |
|
|
|
assertEquals("/some/p ath", u.getPath()); |
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
assertEquals("DOMAIN\\user", u.getUser()); |
|
|
|
assertEquals("DOMAIN\\user", u.getUser()); |
|
|
|
assertEquals("pass", u.getPass()); |
|
|
|
assertEquals("pass", u.getPass()); |
|
|
|
assertEquals(33, u.getPort()); |
|
|
|
assertEquals(33, u.getPort()); |
|
|
|
assertEquals(str, u.toPrivateString()); |
|
|
|
assertEquals("ssh://DOMAIN\\user:pass@example.com:33/some/p ath", |
|
|
|
|
|
|
|
u.toPrivateString()); |
|
|
|
|
|
|
|
assertEquals("ssh://DOMAIN\\user:pass@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 testSshProtoWithEscapedADUserPassAndPort() throws Exception { |
|
|
|
|
|
|
|
final String str = "ssh://DOMAIN%5c\u00fcser:pass@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("DOMAIN\\\u00fcser", u.getUser()); |
|
|
|
|
|
|
|
assertEquals("pass", u.getPass()); |
|
|
|
|
|
|
|
assertEquals(33, u.getPort()); |
|
|
|
|
|
|
|
assertEquals("ssh://DOMAIN\\\u00fcser:pass@example.com:33/some/p ath", |
|
|
|
|
|
|
|
u.toPrivateString()); |
|
|
|
|
|
|
|
assertEquals( |
|
|
|
|
|
|
|
"ssh://DOMAIN\\%c3%bcser:pass@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 testURIEncodeDecode() throws Exception { |
|
|
|
|
|
|
|
final String str = "ssh://%3ax%25:%40%41x@example.com:33/some%c3%a5/p%20a th"; |
|
|
|
|
|
|
|
URIish u = new URIish(str); |
|
|
|
|
|
|
|
assertEquals("ssh", u.getScheme()); |
|
|
|
|
|
|
|
assertTrue(u.isRemote()); |
|
|
|
|
|
|
|
assertEquals("/some%c3%a5/p%20a th", u.getRawPath()); |
|
|
|
|
|
|
|
assertEquals("/some\u00e5/p a th", u.getPath()); |
|
|
|
|
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
|
|
|
|
assertEquals(":x%", u.getUser()); |
|
|
|
|
|
|
|
assertEquals("@Ax", u.getPass()); |
|
|
|
|
|
|
|
assertEquals(33, u.getPort()); |
|
|
|
|
|
|
|
assertEquals("ssh://%3ax%25:%40Ax@example.com:33/some%c3%a5/p%20a th", |
|
|
|
|
|
|
|
u.toPrivateString()); |
|
|
|
|
|
|
|
assertEquals( |
|
|
|
|
|
|
|
"ssh://%3ax%25:%40Ax@example.com:33/some%c3%a5/p%20a%20th", |
|
|
|
|
|
|
|
u.toPrivateASCIIString()); |
|
|
|
assertEquals(u.setPass(null).toPrivateString(), u.toString()); |
|
|
|
assertEquals(u.setPass(null).toPrivateString(), u.toString()); |
|
|
|
|
|
|
|
assertEquals(u.setPass(null).toPrivateASCIIString(), u.toASCIIString()); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -342,13 +487,17 @@ public class URIishTest { |
|
|
|
URIish u = new URIish(str); |
|
|
|
URIish u = new URIish(str); |
|
|
|
assertEquals("git", u.getScheme()); |
|
|
|
assertEquals("git", u.getScheme()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
|
|
|
|
assertEquals("~some/p ath", u.getRawPath()); |
|
|
|
assertEquals("~some/p ath", u.getPath()); |
|
|
|
assertEquals("~some/p ath", u.getPath()); |
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
assertNull(u.getUser()); |
|
|
|
assertNull(u.getUser()); |
|
|
|
assertNull(u.getPass()); |
|
|
|
assertNull(u.getPass()); |
|
|
|
assertEquals(-1, u.getPort()); |
|
|
|
assertEquals(-1, u.getPort()); |
|
|
|
assertEquals(str, u.toPrivateString()); |
|
|
|
assertEquals("git://example.com/~some/p ath", u.toPrivateString()); |
|
|
|
|
|
|
|
assertEquals("git://example.com/~some/p%20ath", |
|
|
|
|
|
|
|
u.toPrivateASCIIString()); |
|
|
|
assertEquals(u.setPass(null).toPrivateString(), u.toString()); |
|
|
|
assertEquals(u.setPass(null).toPrivateString(), u.toString()); |
|
|
|
|
|
|
|
assertEquals(u.setPass(null).toPrivateASCIIString(), u.toASCIIString()); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -359,13 +508,16 @@ public class URIishTest { |
|
|
|
URIish u = new URIish(str); |
|
|
|
URIish u = new URIish(str); |
|
|
|
assertEquals("git", u.getScheme()); |
|
|
|
assertEquals("git", u.getScheme()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
|
|
|
|
assertEquals("~some/p ath", u.getRawPath()); |
|
|
|
assertEquals("~some/p ath", u.getPath()); |
|
|
|
assertEquals("~some/p ath", u.getPath()); |
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
assertNull(u.getUser()); |
|
|
|
assertNull(u.getUser()); |
|
|
|
assertNull(u.getPass()); |
|
|
|
assertNull(u.getPass()); |
|
|
|
assertEquals(-1, u.getPort()); |
|
|
|
assertEquals(-1, u.getPort()); |
|
|
|
assertEquals(str, u.toPrivateString()); |
|
|
|
assertEquals(str, u.toPrivateString()); |
|
|
|
|
|
|
|
assertEquals(str, u.toPrivateASCIIString()); |
|
|
|
assertEquals(u.setPass(null).toPrivateString(), u.toString()); |
|
|
|
assertEquals(u.setPass(null).toPrivateString(), u.toString()); |
|
|
|
|
|
|
|
assertEquals(u.setPass(null).toPrivateASCIIString(), u.toASCIIString()); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -375,13 +527,16 @@ public class URIishTest { |
|
|
|
URIish u = new URIish(str); |
|
|
|
URIish u = new URIish(str); |
|
|
|
assertNull(u.getScheme()); |
|
|
|
assertNull(u.getScheme()); |
|
|
|
assertFalse(u.isRemote()); |
|
|
|
assertFalse(u.isRemote()); |
|
|
|
|
|
|
|
assertEquals("/~some/p ath", u.getRawPath()); |
|
|
|
assertEquals("/~some/p ath", u.getPath()); |
|
|
|
assertEquals("/~some/p ath", u.getPath()); |
|
|
|
assertNull(u.getHost()); |
|
|
|
assertNull(u.getHost()); |
|
|
|
assertNull(u.getUser()); |
|
|
|
assertNull(u.getUser()); |
|
|
|
assertNull(u.getPass()); |
|
|
|
assertNull(u.getPass()); |
|
|
|
assertEquals(-1, u.getPort()); |
|
|
|
assertEquals(-1, u.getPort()); |
|
|
|
assertEquals(str, u.toPrivateString()); |
|
|
|
assertEquals(str, u.toPrivateString()); |
|
|
|
|
|
|
|
assertEquals(str, u.toPrivateASCIIString()); |
|
|
|
assertEquals(u.setPass(null).toPrivateString(), u.toString()); |
|
|
|
assertEquals(u.setPass(null).toPrivateString(), u.toString()); |
|
|
|
|
|
|
|
assertEquals(u.setPass(null).toPrivateASCIIString(), u.toASCIIString()); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -415,6 +570,33 @@ public class URIishTest { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
|
|
public void testGetSet() throws Exception { |
|
|
|
|
|
|
|
final String str = "ssh://DOMAIN\\user:pass@example.com:33/some/p ath%20"; |
|
|
|
|
|
|
|
URIish u = new URIish(str); |
|
|
|
|
|
|
|
u = u.setHost(u.getHost()); |
|
|
|
|
|
|
|
u = u.setPass(u.getPass()); |
|
|
|
|
|
|
|
u = u.setPort(u.getPort()); |
|
|
|
|
|
|
|
assertEquals("ssh", u.getScheme()); |
|
|
|
|
|
|
|
assertTrue(u.isRemote()); |
|
|
|
|
|
|
|
u = u.setRawPath(u.getRawPath()); |
|
|
|
|
|
|
|
assertEquals("/some/p ath%20", u.getRawPath()); |
|
|
|
|
|
|
|
u = u.setPath(u.getPath()); |
|
|
|
|
|
|
|
assertEquals("/some/p ath ", u.getRawPath()); |
|
|
|
|
|
|
|
assertEquals("/some/p ath ", u.getPath()); |
|
|
|
|
|
|
|
assertEquals("example.com", u.getHost()); |
|
|
|
|
|
|
|
assertEquals("DOMAIN\\user", u.getUser()); |
|
|
|
|
|
|
|
assertEquals("pass", u.getPass()); |
|
|
|
|
|
|
|
assertEquals(33, u.getPort()); |
|
|
|
|
|
|
|
assertEquals("ssh://DOMAIN\\user:pass@example.com:33/some/p ath ", |
|
|
|
|
|
|
|
u.toPrivateString()); |
|
|
|
|
|
|
|
assertEquals("ssh://DOMAIN\\user:pass@example.com:33/some/p%20ath%20", |
|
|
|
|
|
|
|
u.toPrivateASCIIString()); |
|
|
|
|
|
|
|
assertEquals(u.setPass(null).toPrivateString(), u.toString()); |
|
|
|
|
|
|
|
assertEquals(u.setPass(null).toPrivateASCIIString(), u.toASCIIString()); |
|
|
|
|
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
public void testGetValidWithEmptySlashDotGitHumanishName() |
|
|
|
public void testGetValidWithEmptySlashDotGitHumanishName() |
|
|
|
throws IllegalArgumentException, URISyntaxException { |
|
|
|
throws IllegalArgumentException, URISyntaxException { |
|
|
@ -537,6 +719,7 @@ public class URIishTest { |
|
|
|
URIish u = new URIish(str); |
|
|
|
URIish u = new URIish(str); |
|
|
|
assertEquals("http", u.getScheme()); |
|
|
|
assertEquals("http", u.getScheme()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
assertTrue(u.isRemote()); |
|
|
|
|
|
|
|
assertEquals("/some/path", u.getRawPath()); |
|
|
|
assertEquals("/some/path", u.getPath()); |
|
|
|
assertEquals("/some/path", u.getPath()); |
|
|
|
assertEquals("host.xy", u.getHost()); |
|
|
|
assertEquals("host.xy", u.getHost()); |
|
|
|
assertEquals(80, u.getPort()); |
|
|
|
assertEquals(80, u.getPort()); |
|
|
@ -556,6 +739,27 @@ public class URIishTest { |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
|
|
* Exemplify what happens with the special case of encoding '/' as %2F. Web |
|
|
|
|
|
|
|
* services in general parse path components before decoding the characters. |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @throws URISyntaxException |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
|
|
public void testPathSeparator() throws URISyntaxException { |
|
|
|
|
|
|
|
String str = "http://user:secret@host.xy:80/some%2Fpath"; |
|
|
|
|
|
|
|
URIish u = new URIish(str); |
|
|
|
|
|
|
|
assertEquals("http", u.getScheme()); |
|
|
|
|
|
|
|
assertTrue(u.isRemote()); |
|
|
|
|
|
|
|
assertEquals("/some%2Fpath", u.getRawPath()); |
|
|
|
|
|
|
|
assertEquals("/some/path", u.getPath()); |
|
|
|
|
|
|
|
assertEquals("host.xy", u.getHost()); |
|
|
|
|
|
|
|
assertEquals(80, u.getPort()); |
|
|
|
|
|
|
|
assertEquals("user", u.getUser()); |
|
|
|
|
|
|
|
assertEquals("secret", u.getPass()); |
|
|
|
|
|
|
|
assertEquals(u, new URIish(str)); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
public void testFileProtocol() throws IllegalArgumentException, |
|
|
|
public void testFileProtocol() throws IllegalArgumentException, |
|
|
|
URISyntaxException, IOException { |
|
|
|
URISyntaxException, IOException { |
|
|
@ -565,6 +769,7 @@ public class URIishTest { |
|
|
|
assertFalse(u.isRemote()); |
|
|
|
assertFalse(u.isRemote()); |
|
|
|
assertNull(u.getHost()); |
|
|
|
assertNull(u.getHost()); |
|
|
|
assertNull(u.getPass()); |
|
|
|
assertNull(u.getPass()); |
|
|
|
|
|
|
|
assertEquals("/a/b.txt", u.getRawPath()); |
|
|
|
assertEquals("/a/b.txt", u.getPath()); |
|
|
|
assertEquals("/a/b.txt", u.getPath()); |
|
|
|
assertEquals(-1, u.getPort()); |
|
|
|
assertEquals(-1, u.getPort()); |
|
|
|
assertNull(u.getUser()); |
|
|
|
assertNull(u.getUser()); |
|
|
@ -586,6 +791,7 @@ public class URIishTest { |
|
|
|
assertFalse(u.isRemote()); |
|
|
|
assertFalse(u.isRemote()); |
|
|
|
assertNull(u.getHost()); |
|
|
|
assertNull(u.getHost()); |
|
|
|
assertNull(u.getPass()); |
|
|
|
assertNull(u.getPass()); |
|
|
|
|
|
|
|
assertEquals("/a/b.txt", u.getRawPath()); |
|
|
|
assertEquals("/a/b.txt", u.getPath()); |
|
|
|
assertEquals("/a/b.txt", u.getPath()); |
|
|
|
assertEquals(-1, u.getPort()); |
|
|
|
assertEquals(-1, u.getPort()); |
|
|
|
assertNull(u.getUser()); |
|
|
|
assertNull(u.getUser()); |
|
|
|