1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.text.lookup;
19
20 import static org.junit.jupiter.api.Assertions.assertThrows;
21 import static org.mockito.Mockito.spy;
22 import static org.mockito.Mockito.when;
23
24 import java.io.UnsupportedEncodingException;
25 import java.nio.charset.StandardCharsets;
26
27 import org.junit.jupiter.api.Assertions;
28 import org.junit.jupiter.api.Test;
29
30
31
32
33 class UrlDecoderStringLookupTest {
34
35 private static final String DATA = "Hello World!";
36
37 @Test
38 void testAllPercent() {
39 Assertions.assertEquals(DATA, UrlDecoderStringLookup.INSTANCE.apply("Hello%20World%21"));
40 }
41
42 @Test
43 void testExceptionGettingString() throws UnsupportedEncodingException {
44 final UrlDecoderStringLookup mockLookup = spy(UrlDecoderStringLookup.class);
45 when(mockLookup.decode(DATA, StandardCharsets.UTF_8.displayName()))
46 .thenThrow(UnsupportedEncodingException.class);
47 assertThrows(IllegalArgumentException.class, () -> mockLookup.apply(DATA));
48 }
49
50 @Test
51 void testExclamation() {
52 Assertions.assertEquals(DATA, UrlDecoderStringLookup.INSTANCE.apply("Hello%20World!"));
53 }
54
55 @Test
56 void testNull() {
57 Assertions.assertNull(UrlDecoderStringLookup.INSTANCE.apply(null));
58 }
59
60 @Test
61 void testPlus() {
62 Assertions.assertEquals(DATA, UrlDecoderStringLookup.INSTANCE.apply("Hello+World!"));
63 }
64
65 @Test
66 void testToString() {
67
68 Assertions.assertFalse(UrlDecoderStringLookup.INSTANCE.toString().isEmpty());
69 }
70
71 }