package com.googlecode.gwt.test;
import com.google.gwt.http.client.URL;
import org.junit.Test;
import java.io.UnsupportedEncodingException;
import static org.assertj.core.api.Assertions.assertThat;
public class URLTest extends GwtTestTest {
@Test
public void encode() {
// Given
String encoded = "my test.asp?name=ståle&car=saab";
// When & Then
assertThat(URL.encode(encoded)).isEqualTo("my%20test.asp?name=st%C3%A5le&car=saab");
}
@Test
public void encodePathSegment() {
// Given
String decodedURLComponent = "http://w3schools.com/my test.asp?name=ståle&car=saab";
// When & Then
assertThat(URL.encodePathSegment(decodedURLComponent)).isEqualTo("http%3A%2F%2Fw3schools.com%2Fmy%20test.asp%3Fname%3Dst%C3%A5le%26car%3Dsaab");
}
@Test
public void encodeQueryString() {
// Given
String stringToEncode = "name=ståle test&car=saab";
// When & Then
assertThat(URL.encodeQueryString(stringToEncode)).isEqualTo("name%3Dst%C3%A5le+test%26car%3Dsaab");
}
@Test
public void decode() throws UnsupportedEncodingException {
// Given
String urlEscaped = "my%20test.asp?name=st%C3%A5le&car=saab";
// When & Then
assertThat(URL.decode(urlEscaped)).isEqualTo("my test.asp?name=ståle&car=saab");
}
@Test
public void decodePathSegment() {
// Given
String urlEscaped = "http%3A%2F%2Fw3schools.com%2Fmy%20test.asp%3Fname%3Dst%C3%A5le%26car%3Dsaab";
// When & Then
assertThat(URL.decodePathSegment(urlEscaped)).isEqualTo("http://w3schools.com/my test.asp?name=ståle&car=saab");
}
@Test
public void decodeQueryString() {
// Given
String stringToDecode = "name%3Dst%C3%A5le+test%26car%3Dsaab";
// When & Then
assertThat(URL.decodeQueryString(stringToDecode)).isEqualTo("name=ståle test&car=saab");
}
}