mirror of
https://github.com/gbevin/urlencoder.git
synced 2025-04-28 00:18:14 -07:00
Cleaned up tests
This commit is contained in:
parent
e62af2cf4b
commit
be01f6dc07
1 changed files with 27 additions and 34 deletions
|
@ -6,48 +6,41 @@ package com.uwyn.urlencoder;
|
||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.*;
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
|
||||||
|
|
||||||
class UrlEncoderTest {
|
class UrlEncoderTest {
|
||||||
@Test
|
private String[] invalid = {"sdkjfh%", "sdkjfh%6", "sdkjfh%xx", "sdfjfh%-1"};
|
||||||
public void testEncodeURL() {
|
private String same = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVQXYZ0123456789-_.~";
|
||||||
assertNull(UrlEncoder.encode(null));
|
private Map<String, String> validMap = Map.of(
|
||||||
assertEquals("a%20test%20%26", UrlEncoder.encode("a test &"));
|
"a test &", "a%20test%20%26",
|
||||||
String valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVQXYZ0123456789-_.~";
|
"!abcdefghijklmnopqrstuvwxyz%%ABCDEFGHIJKLMNOPQRSTUVQXYZ0123456789-_.~=",
|
||||||
assertSame(valid, UrlEncoder.encode(valid));
|
"%21abcdefghijklmnopqrstuvwxyz%25%25ABCDEFGHIJKLMNOPQRSTUVQXYZ0123456789-_.~%3D",
|
||||||
assertEquals("%21abcdefghijklmnopqrstuvwxyz%25%25ABCDEFGHIJKLMNOPQRSTUVQXYZ0123456789-_.~%3D", UrlEncoder.encode("!abcdefghijklmnopqrstuvwxyz%%ABCDEFGHIJKLMNOPQRSTUVQXYZ0123456789-_.~="));
|
"%#okékÉȢ smile!😁", "%25%23ok%C3%A9k%C3%89%C8%A2%20smile%21%F0%9F%98%81"
|
||||||
assertEquals("%25%23ok%C3%A9k%C3%89%C8%A2%20smile%21%F0%9F%98%81", UrlEncoder.encode("%#okékÉȢ smile!😁"));
|
);
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testDecodeURL() {
|
public void testDecodeURL() {
|
||||||
assertNull(UrlEncoder.decode(null));
|
assertNull(UrlEncoder.decode(null));
|
||||||
assertEquals("a test &", UrlEncoder.decode("a%20test%20%26"));
|
assertSame(same, UrlEncoder.decode(same));
|
||||||
String valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVQXYZ0123456789-_.~";
|
validMap.forEach((expected, source) -> assertEquals(expected, UrlEncoder.decode(source)));
|
||||||
assertSame(valid, UrlEncoder.decode(valid));
|
|
||||||
assertEquals("!abcdefghijklmnopqrstuvwxyz%%ABCDEFGHIJKLMNOPQRSTUVQXYZ0123456789-_.~=", UrlEncoder.decode("%21abcdefghijklmnopqrstuvwxyz%25%25ABCDEFGHIJKLMNOPQRSTUVQXYZ0123456789-_.~%3D"));
|
|
||||||
assertEquals("%#okékÉȢ smile!😁", UrlEncoder.decode("%25%23ok%C3%A9k%C3%89%C8%A2%20smile%21%F0%9F%98%81"));
|
|
||||||
|
|
||||||
try {
|
for (String i : invalid) {
|
||||||
UrlEncoder.decode("sdkjfh%");
|
assertThrows(IllegalArgumentException.class, () -> UrlEncoder.decode(i));
|
||||||
fail();
|
|
||||||
} catch (Exception e) {
|
|
||||||
assertTrue(e instanceof IllegalArgumentException);
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
UrlEncoder.decode("sdkjfh%6");
|
|
||||||
fail();
|
|
||||||
} catch (Exception e) {
|
|
||||||
assertTrue(e instanceof IllegalArgumentException);
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
UrlEncoder.decode("sdkjfh%xx");
|
|
||||||
fail();
|
|
||||||
} catch (Exception e) {
|
|
||||||
assertTrue(e instanceof IllegalArgumentException);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testEncodeURL() {
|
||||||
|
assertNull(UrlEncoder.encode(null));
|
||||||
|
assertTrue(UrlEncoder.encode("").isEmpty());
|
||||||
|
assertSame(same, UrlEncoder.encode(same));
|
||||||
|
assertSame(same, UrlEncoder.encode(same, ""));
|
||||||
|
validMap.forEach((source, expected) -> assertEquals(expected, UrlEncoder.encode(source)));
|
||||||
|
|
||||||
|
assertEquals("?test=a%20test", UrlEncoder.encode("?test=a test", "?="));
|
||||||
|
assertEquals("?test=a%20test", UrlEncoder.encode("?test=a test", '?', '='));
|
||||||
|
assertEquals("aaa", UrlEncoder.encode("aaa", 'a'));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue