Skip to content

Instantly share code, notes, and snippets.

@twuni
Created July 27, 2013 07:52
Show Gist options
  • Save twuni/6094169 to your computer and use it in GitHub Desktop.
Save twuni/6094169 to your computer and use it in GitHub Desktop.
Some basic unit tests for URLEncoder.java.
import org.junit.Assert;
import org.junit.Test;
public class URLEncoderTest extends Assert {
public static void assertCharSequenceEquals( CharSequence expected, CharSequence actual ) {
for( int i = 0; i < expected.length(); i++ ) {
assertEquals( "at position " + i, expected.charAt( i ), actual.charAt( i ) );
}
}
public static void assertEncodeResults( CharSequence expected, CharSequence input ) {
CharSequence actual = URLEncoder.encode( input );
assertCharSequenceEquals( expected, actual );
}
@Test
public void encode_shouldEncodeOtherSpecialCharactersAsPercentPrefixedBase16() {
assertEncodeResults( "!%40%23%24%25%5E%26*()-%3D_%2B%5B%5D%5C%7B%7D%7C%3B'%3A%22%2C.%2F%3C%3E%3F%60~", "!@#$%^&*()-=_+[]\\{}|;':\",./<>?`~" );
}
@Test
public void encode_shouldNotEncodeAlphanumerics() {
CharSequence input = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
assertEncodeResults( input, input );
}
@Test
public void encode_shouldNotEncodeCertainSpecialCharacters() {
CharSequence input = "!*()-_'.~";
assertEncodeResults( input, input );
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment