diff options
author | Marc Strapetz <marc.strapetz@syntevo.com> | 2017-12-09 12:12:24 +0100 |
---|---|---|
committer | Marc Strapetz <marc.strapetz@syntevo.com> | 2017-12-09 12:15:12 +0100 |
commit | 93462447b47565b80b134833777933edef26a5de (patch) | |
tree | 1c17e596de003a4317e351ceb5364a8172c5bcec | |
parent | c89a11213e7c3c39548f2f9b9a16c68b78783df8 (diff) | |
download | jgit-93462447b47565b80b134833777933edef26a5de.tar.gz jgit-93462447b47565b80b134833777933edef26a5de.zip |
URIishTest: more Windows file-protocol tests
Change-Id: Id5fbd8bb9cd05da89d27e9532612d64ae84a55ba
Signed-off-by: Marc Strapetz <marc.strapetz@syntevo.com>
-rw-r--r-- | org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/URIishTest.java | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/URIishTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/URIishTest.java index e55d373347..9bd30b8837 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/URIishTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/URIishTest.java @@ -198,6 +198,10 @@ public class URIishTest { URIish u = new URIish(str); assertEquals("file", u.getScheme()); assertFalse(u.isRemote()); + assertEquals(null, u.getHost()); + assertEquals(-1, u.getPort()); + assertEquals(null, u.getUser()); + assertEquals(null, u.getPass()); assertEquals("D:/m y", u.getRawPath()); assertEquals("D:/m y", u.getPath()); assertEquals("file:///D:/m y", u.toString()); @@ -206,6 +210,84 @@ public class URIishTest { } @Test + public void testFileProtoWindowsWithHost() throws Exception { + final String str = "file://localhost/D:/m y"; + URIish u = new URIish(str); + assertEquals("file", u.getScheme()); + assertTrue(u.isRemote()); + assertEquals("localhost", u.getHost()); + assertEquals(-1, u.getPort()); + assertEquals(null, u.getUser()); + assertEquals(null, u.getPass()); + assertEquals("D:/m y", u.getRawPath()); + assertEquals("D:/m y", u.getPath()); + assertEquals("file://localhost/D:/m y", u.toString()); + assertEquals("file://localhost/D:/m%20y", u.toASCIIString()); + assertEquals(u, new URIish(str)); + } + + @Test + public void testFileProtoWindowsWithHostAndPort() throws Exception { + final String str = "file://localhost:80/D:/m y"; + URIish u = new URIish(str); + assertEquals("file", u.getScheme()); + assertTrue(u.isRemote()); + assertEquals("localhost", u.getHost()); + assertEquals(80, u.getPort()); + assertEquals(null, u.getUser()); + assertEquals(null, u.getPass()); + assertEquals("D:/m y", u.getRawPath()); + assertEquals("D:/m y", u.getPath()); + assertEquals("file://localhost:80/D:/m y", u.toString()); + assertEquals("file://localhost:80/D:/m%20y", u.toASCIIString()); + assertEquals(u, new URIish(str)); + } + + @Test + public void testFileProtoWindowsWithHostAndEmptyPortIsAmbiguous() + throws Exception { + final String str = "file://localhost:/D:/m y"; + URIish u = new URIish(str); + assertEquals("file", u.getScheme()); + assertFalse(u.isRemote()); + assertEquals(null, u.getHost()); + assertEquals(-1, u.getPort()); + assertEquals(null, u.getUser()); + assertEquals(null, u.getPass()); + assertEquals("localhost:/D:/m y", u.getRawPath()); + assertEquals("localhost:/D:/m y", u.getPath()); + assertEquals("file:///localhost:/D:/m y", u.toString()); + assertEquals("file:///localhost:/D:/m%20y", u.toASCIIString()); + assertEquals(u, new URIish(str)); + } + + @Test + public void testFileProtoWindowsMissingHostSlash() throws Exception { + final String str = "file://D:/m y"; + 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("file:///D:/m y", u.toString()); + assertEquals("file:///D:/m%20y", u.toASCIIString()); + assertEquals(u, new URIish(str)); + } + + @Test + public void testFileProtoWindowsMissingHostSlash2() throws Exception { + final String str = "file://D: /m y"; + 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("file:///D: /m y", u.toString()); + assertEquals("file:///D:%20/m%20y", u.toASCIIString()); + assertEquals(u, new URIish(str)); + } + + @Test public void testGitProtoUnix() throws Exception { final String str = "git://example.com/home/m y"; URIish u = new URIish(str); |