URIish: fixed full uri pattern not expecting end of line after host name
Bug: 483326 Change-Id: I8b6e3eb648c8ec2c38f73de22382537b1276b779 Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
This commit is contained in:
parent
e23521f0d9
commit
85d09a9ec7
|
@ -928,4 +928,19 @@ public void testALot() throws URISyntaxException {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testStringConstructor() throws Exception {
|
||||
String str = "http://example.com/";
|
||||
URIish u = new URIish(str);
|
||||
assertEquals("example.com", u.getHost());
|
||||
assertEquals("/", u.getPath());
|
||||
assertEquals(str, u.toString());
|
||||
|
||||
str = "http://example.com";
|
||||
u = new URIish(str);
|
||||
assertEquals("example.com", u.getHost());
|
||||
assertEquals("", u.getPath());
|
||||
assertEquals(str, u.toString());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -137,7 +137,11 @@ public class URIish implements Serializable {
|
|||
+ OPT_PORT_P //
|
||||
+ "(" // open a group capturing the user-home-dir-part //$NON-NLS-1$
|
||||
+ (USER_HOME_P + "?") //$NON-NLS-1$
|
||||
+ "[\\\\/])" //$NON-NLS-1$
|
||||
+ "(?:" // start non capturing group for host //$NON-NLS-1$
|
||||
// separator or end of line
|
||||
+ "[\\\\/])|$" //$NON-NLS-1$
|
||||
+ ")" // close non capturing group for the host//$NON-NLS-1$
|
||||
// separator or end of line
|
||||
+ ")?" // close the optional group containing hostname //$NON-NLS-1$
|
||||
+ "(.+)?" //$NON-NLS-1$
|
||||
+ "$"); //$NON-NLS-1$
|
||||
|
@ -640,7 +644,7 @@ private String format(final boolean includePassword, boolean escapeNonAscii) {
|
|||
|
||||
if (getPath() != null) {
|
||||
if (getScheme() != null) {
|
||||
if (!getPath().startsWith("/")) //$NON-NLS-1$
|
||||
if (!getPath().startsWith("/") && !getPath().isEmpty()) //$NON-NLS-1$
|
||||
r.append('/');
|
||||
} else if (getHost() != null)
|
||||
r.append(':');
|
||||
|
@ -711,9 +715,9 @@ public String toPrivateASCIIString() {
|
|||
*/
|
||||
public String getHumanishName() throws IllegalArgumentException {
|
||||
String s = getPath();
|
||||
if ("/".equals(s)) //$NON-NLS-1$
|
||||
if ("/".equals(s) || "".equals(s)) //$NON-NLS-1$
|
||||
s = getHost();
|
||||
if ("".equals(s) || s == null) //$NON-NLS-1$
|
||||
if (s == null) // $NON-NLS-1$
|
||||
throw new IllegalArgumentException();
|
||||
|
||||
String[] elements;
|
||||
|
|
Loading…
Reference in New Issue