@Test
public void decodeFormUrlEncoded() {

    assertEquals("", UriEncoding.decode("", FORM_URL_ENCODED));
    assertEquals("foo", UriEncoding.decode("foo", FORM_URL_ENCODED));
    assertEquals("with space", UriEncoding.decode("with%20space", FORM_URL_ENCODED));
    assertEquals("with+PlusEncoded", UriEncoding.decode("with%2bPlusEncoded", FORM_URL_ENCODED));
    assertEquals("with PlusNotEncoded", UriEncoding.decode("with+PlusNotEncoded", FORM_URL_ENCODED));
    assertEquals(MANY_DIFFERENT_CHARS,
            UriEncoding.decode(MANY_DIFFERENT_CHARS_QUERY_PARAM_ENCODED_RFC3986, FORM_URL_ENCODED));
}