diff options
author | Andrew Comminos <andrew@morlunk.com> | 2015-08-03 08:19:08 +0300 |
---|---|---|
committer | Andrew Comminos <andrew@morlunk.com> | 2015-08-03 08:19:08 +0300 |
commit | 9d1d94ade72a80af75f75ab64e0e1e3cdbd9d482 (patch) | |
tree | 7bbae3dacafa69e6c546f05c4f9aa303253d46e4 | |
parent | 9549936c1eb4164cc3f52127d010eae7bfcf1cb4 (diff) | |
parent | d77952a61609c9f078bd7c9e2c100749891f0b28 (diff) |
Merge pull request #11 from rce/fix-parse-url-with-password
Fix Mumble URL parsing
-rw-r--r-- | src/androidTest/java/com/morlunk/jumble/test/URLParserTest.java | 12 | ||||
-rw-r--r-- | src/main/java/com/morlunk/jumble/util/MumbleURLParser.java | 2 |
2 files changed, 13 insertions, 1 deletions
diff --git a/src/androidTest/java/com/morlunk/jumble/test/URLParserTest.java b/src/androidTest/java/com/morlunk/jumble/test/URLParserTest.java index 0c8788a..fa2720b 100644 --- a/src/androidTest/java/com/morlunk/jumble/test/URLParserTest.java +++ b/src/androidTest/java/com/morlunk/jumble/test/URLParserTest.java @@ -78,6 +78,18 @@ public class URLParserTest extends TestCase { } } + public void testURLWithPassword() { + String url = "mumble://:mypassword@server.com/"; + try { + Server server = MumbleURLParser.parseURL(url); + assertEquals(server.getHost(), "server.com"); + assertEquals(server.getPassword(), "mypassword"); + assertEquals(server.getPort(), Constants.DEFAULT_PORT); + } catch (MalformedURLException e) { + fail("Failed to parse URL."); + } + } + public void testInvalidScheme() { String url = "grumble://server.com/"; try { diff --git a/src/main/java/com/morlunk/jumble/util/MumbleURLParser.java b/src/main/java/com/morlunk/jumble/util/MumbleURLParser.java index 29c4109..5da4117 100644 --- a/src/main/java/com/morlunk/jumble/util/MumbleURLParser.java +++ b/src/main/java/com/morlunk/jumble/util/MumbleURLParser.java @@ -31,7 +31,7 @@ import java.util.regex.Pattern; */ public class MumbleURLParser { - private static final Pattern URL_PATTERN = Pattern.compile("mumble://((.+?)(:(.+?))?@)?(.+?)(:([0-9]+?))?/"); + private static final Pattern URL_PATTERN = Pattern.compile("mumble://(([^:]+)?(:(.+?))?@)?(.+?)(:([0-9]+?))?/"); /** * Parses the passed Mumble URL into a Server object. |