@ -88,8 +88,10 @@ public class URIishTest {
URIish u = new URIish ( str ) ;
assertNull ( u . getScheme ( ) ) ;
assertFalse ( u . isRemote ( ) ) ;
assertEquals ( str , u . getRawPath ( ) ) ;
assertEquals ( str , u . getPath ( ) ) ;
assertEquals ( str , u . toString ( ) ) ;
assertEquals ( str , u . toASCIIString ( ) ) ;
assertEquals ( u , new URIish ( str ) ) ;
}
@ -99,8 +101,10 @@ public class URIishTest {
URIish u = new URIish ( str ) ;
assertNull ( u . getScheme ( ) ) ;
assertFalse ( u . isRemote ( ) ) ;
assertEquals ( str , u . getRawPath ( ) ) ;
assertEquals ( str , u . getPath ( ) ) ;
assertEquals ( str , u . toString ( ) ) ;
assertEquals ( str , u . toASCIIString ( ) ) ;
assertEquals ( u , new URIish ( str ) ) ;
}
@ -110,8 +114,10 @@ public class URIishTest {
URIish u = new URIish ( str ) ;
assertNull ( u . getScheme ( ) ) ;
assertFalse ( u . isRemote ( ) ) ;
assertEquals ( "D:\\m y" , u . getRawPath ( ) ) ;
assertEquals ( "D:\\m y" , u . getPath ( ) ) ;
assertEquals ( "D:\\m y" , u . toString ( ) ) ;
assertEquals ( "D:\\m y" , u . toASCIIString ( ) ) ;
assertEquals ( u , new URIish ( str ) ) ;
}
@ -121,8 +127,10 @@ public class URIishTest {
URIish u = new URIish ( str ) ;
assertNull ( u . getScheme ( ) ) ;
assertFalse ( u . isRemote ( ) ) ;
assertEquals ( str , u . getRawPath ( ) ) ;
assertEquals ( str , u . getPath ( ) ) ;
assertEquals ( str , u . toString ( ) ) ;
assertEquals ( str , u . toASCIIString ( ) ) ;
assertEquals ( u , new URIish ( str ) ) ;
}
@ -132,8 +140,10 @@ public class URIishTest {
URIish u = new URIish ( str ) ;
assertNull ( u . getScheme ( ) ) ;
assertFalse ( u . isRemote ( ) ) ;
assertEquals ( "\\\\some\\place" , u . getRawPath ( ) ) ;
assertEquals ( "\\\\some\\place" , u . getPath ( ) ) ;
assertEquals ( "\\\\some\\place" , u . toString ( ) ) ;
assertEquals ( "\\\\some\\place" , u . toASCIIString ( ) ) ;
assertEquals ( u , new URIish ( str ) ) ;
}
@ -143,8 +153,49 @@ public class URIishTest {
URIish u = new URIish ( str ) ;
assertEquals ( "file" , u . getScheme ( ) ) ;
assertFalse ( u . isRemote ( ) ) ;
assertEquals ( "/home/m y" , u . getRawPath ( ) ) ;
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 ) ) ;
}
@ -154,8 +205,10 @@ public class URIishTest {
URIish u = new URIish ( str ) ;
assertEquals ( "file" , u . getScheme ( ) ) ;
assertFalse ( u . isRemote ( ) ) ;
assertEquals ( "D:/m y" , u . getRawPath ( ) ) ;
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 ) ) ;
}
@ -166,8 +219,10 @@ public class URIishTest {
assertEquals ( "git" , u . getScheme ( ) ) ;
assertTrue ( u . isRemote ( ) ) ;
assertEquals ( "example.com" , u . getHost ( ) ) ;
assertEquals ( "/home/m y" , u . getRawPath ( ) ) ;
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 ) ) ;
}
@ -178,9 +233,11 @@ public class URIishTest {
assertEquals ( "git" , u . getScheme ( ) ) ;
assertTrue ( u . isRemote ( ) ) ;
assertEquals ( "example.com" , u . getHost ( ) ) ;
assertEquals ( "/home/m y" , u . getRawPath ( ) ) ;
assertEquals ( "/home/m y" , u . getPath ( ) ) ;
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 ) ) ;
}
@ -190,10 +247,12 @@ public class URIishTest {
URIish u = new URIish ( str ) ;
assertEquals ( "git" , u . getScheme ( ) ) ;
assertTrue ( u . isRemote ( ) ) ;
assertEquals ( "D:/m y" , u . getRawPath ( ) ) ;
assertEquals ( "D:/m y" , u . getPath ( ) ) ;
assertEquals ( 338 , u . getPort ( ) ) ;
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 ) ) ;
}
@ -203,10 +262,27 @@ public class URIishTest {
URIish u = new URIish ( str ) ;
assertEquals ( "git" , u . getScheme ( ) ) ;
assertTrue ( u . isRemote ( ) ) ;
assertEquals ( "D:/m y" , u . getRawPath ( ) ) ;
assertEquals ( "D:/m y" , u . getPath ( ) ) ;
assertEquals ( "example.com" , u . getHost ( ) ) ;
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 . toASCIIString ( ) ) ;
assertEquals ( u , new URIish ( str ) ) ;
}
@ -216,10 +292,12 @@ public class URIishTest {
URIish u = new URIish ( str ) ;
assertNull ( u . getScheme ( ) ) ;
assertTrue ( u . isRemote ( ) ) ;
assertEquals ( "some/p ath" , u . getRawPath ( ) ) ;
assertEquals ( "some/p ath" , u . getPath ( ) ) ;
assertEquals ( "example.com" , u . getHost ( ) ) ;
assertEquals ( - 1 , u . getPort ( ) ) ;
assertEquals ( str , u . toString ( ) ) ;
assertEquals ( str , u . toASCIIString ( ) ) ;
assertEquals ( u , new URIish ( str ) ) ;
}
@ -229,10 +307,12 @@ public class URIishTest {
URIish u = new URIish ( str ) ;
assertNull ( u . getScheme ( ) ) ;
assertTrue ( u . isRemote ( ) ) ;
assertEquals ( "/some/p ath" , u . getRawPath ( ) ) ;
assertEquals ( "/some/p ath" , u . getPath ( ) ) ;
assertEquals ( "example.com" , u . getHost ( ) ) ;
assertEquals ( - 1 , u . getPort ( ) ) ;
assertEquals ( str , u . toString ( ) ) ;
assertEquals ( str , u . toASCIIString ( ) ) ;
assertEquals ( u , new URIish ( str ) ) ;
}
@ -242,11 +322,13 @@ public class URIishTest {
URIish u = new URIish ( str ) ;
assertNull ( u . getScheme ( ) ) ;
assertTrue ( u . isRemote ( ) ) ;
assertEquals ( "some/p ath" , u . getRawPath ( ) ) ;
assertEquals ( "some/p ath" , u . getPath ( ) ) ;
assertEquals ( "user" , u . getUser ( ) ) ;
assertEquals ( "example.com" , u . getHost ( ) ) ;
assertEquals ( - 1 , u . getPort ( ) ) ;
assertEquals ( str , u . toString ( ) ) ;
assertEquals ( str , u . toASCIIString ( ) ) ;
assertEquals ( u , new URIish ( str ) ) ;
}
@ -256,10 +338,12 @@ public class URIishTest {
URIish u = new URIish ( str ) ;
assertEquals ( "git+ssh" , u . getScheme ( ) ) ;
assertTrue ( u . isRemote ( ) ) ;
assertEquals ( "/some/p ath" , u . getRawPath ( ) ) ;
assertEquals ( "/some/p ath" , u . getPath ( ) ) ;
assertEquals ( "example.com" , u . getHost ( ) ) ;
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 ) ) ;
}
@ -269,10 +353,12 @@ public class URIishTest {
URIish u = new URIish ( str ) ;
assertEquals ( "ssh+git" , u . getScheme ( ) ) ;
assertTrue ( u . isRemote ( ) ) ;
assertEquals ( "/some/p ath" , u . getRawPath ( ) ) ;
assertEquals ( "/some/p ath" , u . getPath ( ) ) ;
assertEquals ( "example.com" , u . getHost ( ) ) ;
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 ) ) ;
}
@ -282,10 +368,12 @@ public class URIishTest {
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 ( - 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 ) ) ;
}
@ -295,12 +383,15 @@ public class URIishTest {
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" , u . getUser ( ) ) ;
assertNull ( u . getPass ( ) ) ;
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 ) ) ;
}
@ -310,13 +401,18 @@ public class URIishTest {
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" , u . getUser ( ) ) ;
assertEquals ( "pass" , u . getPass ( ) ) ;
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 ) . toPrivateASCIIString ( ) , u . toASCIIString ( ) ) ;
assertEquals ( u , new URIish ( str ) ) ;
}
@ -326,13 +422,62 @@ public class URIishTest {
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\\user" , u . getUser ( ) ) ;
assertEquals ( "pass" , u . getPass ( ) ) ;
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 ) . toPrivateASCIIString ( ) , u . toASCIIString ( ) ) ;
assertEquals ( u , new URIish ( str ) ) ;
}
@ -342,13 +487,17 @@ public class URIishTest {
URIish u = new URIish ( str ) ;
assertEquals ( "git" , u . getScheme ( ) ) ;
assertTrue ( u . isRemote ( ) ) ;
assertEquals ( "~some/p ath" , u . getRawPath ( ) ) ;
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 ( "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 ) . toPrivateASCIIString ( ) , u . toASCIIString ( ) ) ;
assertEquals ( u , new URIish ( str ) ) ;
}
@ -359,13 +508,16 @@ public class URIishTest {
URIish u = new URIish ( str ) ;
assertEquals ( "git" , u . getScheme ( ) ) ;
assertTrue ( u . isRemote ( ) ) ;
assertEquals ( "~some/p ath" , u . getRawPath ( ) ) ;
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 ( str , u . toPrivateASCIIString ( ) ) ;
assertEquals ( u . setPass ( null ) . toPrivateString ( ) , u . toString ( ) ) ;
assertEquals ( u . setPass ( null ) . toPrivateASCIIString ( ) , u . toASCIIString ( ) ) ;
assertEquals ( u , new URIish ( str ) ) ;
}
@ -375,13 +527,16 @@ public class URIishTest {
URIish u = new URIish ( str ) ;
assertNull ( u . getScheme ( ) ) ;
assertFalse ( u . isRemote ( ) ) ;
assertEquals ( "/~some/p ath" , u . getRawPath ( ) ) ;
assertEquals ( "/~some/p ath" , u . getPath ( ) ) ;
assertNull ( u . getHost ( ) ) ;
assertNull ( u . getUser ( ) ) ;
assertNull ( u . getPass ( ) ) ;
assertEquals ( - 1 , u . getPort ( ) ) ;
assertEquals ( str , u . toPrivateString ( ) ) ;
assertEquals ( str , u . toPrivateASCIIString ( ) ) ;
assertEquals ( u . setPass ( null ) . toPrivateString ( ) , u . toString ( ) ) ;
assertEquals ( u . setPass ( null ) . toPrivateASCIIString ( ) , u . toASCIIString ( ) ) ;
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
public void testGetValidWithEmptySlashDotGitHumanishName ( )
throws IllegalArgumentException , URISyntaxException {
@ -537,6 +719,7 @@ public class URIishTest {
URIish u = new URIish ( str ) ;
assertEquals ( "http" , u . getScheme ( ) ) ;
assertTrue ( u . isRemote ( ) ) ;
assertEquals ( "/some/path" , u . getRawPath ( ) ) ;
assertEquals ( "/some/path" , u . getPath ( ) ) ;
assertEquals ( "host.xy" , u . getHost ( ) ) ;
assertEquals ( 80 , u . getPort ( ) ) ;
@ -556,6 +739,27 @@ public class URIishTest {
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
public void testFileProtocol ( ) throws IllegalArgumentException ,
URISyntaxException , IOException {
@ -565,6 +769,7 @@ public class URIishTest {
assertFalse ( u . isRemote ( ) ) ;
assertNull ( u . getHost ( ) ) ;
assertNull ( u . getPass ( ) ) ;
assertEquals ( "/a/b.txt" , u . getRawPath ( ) ) ;
assertEquals ( "/a/b.txt" , u . getPath ( ) ) ;
assertEquals ( - 1 , u . getPort ( ) ) ;
assertNull ( u . getUser ( ) ) ;
@ -586,6 +791,7 @@ public class URIishTest {
assertFalse ( u . isRemote ( ) ) ;
assertNull ( u . getHost ( ) ) ;
assertNull ( u . getPass ( ) ) ;
assertEquals ( "/a/b.txt" , u . getRawPath ( ) ) ;
assertEquals ( "/a/b.txt" , u . getPath ( ) ) ;
assertEquals ( - 1 , u . getPort ( ) ) ;
assertNull ( u . getUser ( ) ) ;