blob: 5e35c44365eb0199fd4e2a39edad8c1dec67237f [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2010-2014 SAP AG and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* SAP AG - initial API and implementation
*******************************************************************************/
package org.eclipse.skalli.commons;
import org.junit.Assert;
import org.junit.Test;
@SuppressWarnings("nls")
public class URLUtilsTest {
@Test
public void testStringToURL() throws Exception {
Assert.assertEquals("http://host:8080/firstsecond",
URLUtils.asURL("http://host:8080/firstsecond").toExternalForm());
Assert.assertEquals("http://host:8080/first%20second",
URLUtils.asURL("http://host:8080/first%20second").toExternalForm());
Assert.assertEquals("http://host:8080/first+second",
URLUtils.asURL("http://host:8080/first+second").toExternalForm());
Assert.assertEquals("http://host:8080/first%20second",
URLUtils.asURL("http://host:8080/first second").toExternalForm());
Assert.assertEquals("http://host:8080/first%20second/third",
URLUtils.asURL("http://host:8080/first second/third").toExternalForm());
Assert.assertEquals("http://host:8080/=$%20%25:%C3%A4",
URLUtils.asURL("http://host:8080/=$ %:ä").toExternalForm());
Assert.assertEquals("http://host:8080/=$%20%25%2520:%C3%A4",
URLUtils.asURL("http://host:8080/=$ %%20:ä").toExternalForm());
Assert.assertEquals("http://host:8080/path?query",
URLUtils.asURL("http://host:8080/path?query").toExternalForm());
Assert.assertEquals("http://host:8080/path?a&b&c",
URLUtils.asURL("http://host:8080/path?a&b&c").toExternalForm());
Assert.assertEquals("http://host:8080/path?ab%20c",
URLUtils.asURL("http://host:8080/path?ab c").toExternalForm());
Assert.assertEquals("http://host:8080/path?ab%C3%A4c",
URLUtils.asURL("http://host:8080/path?abäc").toExternalForm());
Assert.assertNull(URLUtils.asURL(null));
Assert.assertNull(URLUtils.asURL(""));
}
@Test
public void testRemoveSlashStartEnd() throws Exception {
Assert.assertNull(URLUtils.removeSlashStartEnd(null));
Assert.assertEquals("", URLUtils.removeSlashStartEnd(""));
Assert.assertEquals("", URLUtils.removeSlashStartEnd("/"));
Assert.assertEquals("", URLUtils.removeSlashStartEnd(" // "));
Assert.assertEquals("foobar", URLUtils.removeSlashStartEnd("foobar"));
Assert.assertEquals("foobar", URLUtils.removeSlashStartEnd("/foobar"));
Assert.assertEquals("foobar", URLUtils.removeSlashStartEnd("foobar/"));
Assert.assertEquals("foobar", URLUtils.removeSlashStartEnd("/foobar/"));
Assert.assertEquals("foo/bar", URLUtils.removeSlashStartEnd("/foo/bar/"));
Assert.assertEquals("foo/bar", URLUtils.removeSlashStartEnd("//foo/bar///"));
Assert.assertEquals("foo/bar", URLUtils.removeSlashStartEnd(" \t /foo/bar/ \n "));
Assert.assertEquals("foo\\bar", URLUtils.removeSlashStartEnd(" \t /foo\\bar/ \n "));
Assert.assertEquals(" foobar ", URLUtils.removeSlashStartEnd(" / foobar / "));
}
@Test
public void testConcat() throws Exception {
Assert.assertEquals("", URLUtils.concat(null, (Object[])null));
Assert.assertEquals("", URLUtils.concat(null, (Object[])null));
Assert.assertEquals("", URLUtils.concat("", (Object[])null));
Assert.assertEquals("", URLUtils.concat(null, new Object[0]));
Assert.assertEquals("", URLUtils.concat("", new Object[0]));
Assert.assertEquals("http://host:8080", URLUtils.concat("http://host:8080", (Object[])null));
Assert.assertEquals("http://host:8080", URLUtils.concat("http://host:8080/", (Object[])null));
Assert.assertEquals("http://host:8080", URLUtils.concat(" http://host:8080// \n", (Object[])null));
Assert.assertEquals("http://host:8080/a", URLUtils.concat("http://host:8080", "a"));
Assert.assertEquals("http://host:8080", URLUtils.concat("http://host:8080", "/"));
Assert.assertEquals("http://host:8080", URLUtils.concat("http://host:8080", "/\n/"));
Assert.assertEquals("http://host:8080/a/b", URLUtils.concat("http://host:8080", "/a/", "b"));
Assert.assertEquals("http://host:8080/a/b/c", URLUtils.concat("http://host:8080", "\t a/", " \n/b/c/ "));
Assert.assertEquals("http://host:8080/a/4711", URLUtils.concat("http://host:8080", "a", new Integer(4711)));
}
}