/
DecoderUtilTest.java
113 lines (88 loc) · 3.17 KB
/
DecoderUtilTest.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
package com.fsck.k9.mail.internet;
import com.fsck.k9.mail.K9LibRobolectricTestRunner;
import org.junit.Test;
import org.junit.runner.RunWith;
import static org.junit.Assert.assertEquals;
@RunWith(K9LibRobolectricTestRunner.class)
public class DecoderUtilTest {
@Test
public void testDecodeEncodedWords() {
String body, expect;
MimeMessage message;
body = "abc";
expect = "abc";
message = null;
assertEquals(expect, DecoderUtil.decodeEncodedWords(body, message));
body = "=?us-ascii?q?abc?=";
expect = "abc";
message = null;
assertEquals(expect, DecoderUtil.decodeEncodedWords(body, message));
body = "=?";
expect = "=?";
message = null;
assertEquals(expect, DecoderUtil.decodeEncodedWords(body, message));
body = "=??";
expect = "=??";
message = null;
assertEquals(expect, DecoderUtil.decodeEncodedWords(body, message));
body = "=???";
expect = "=???";
message = null;
assertEquals(expect, DecoderUtil.decodeEncodedWords(body, message));
body = "=????";
expect = "=????";
message = null;
assertEquals(expect, DecoderUtil.decodeEncodedWords(body, message));
body = "=????=";
expect = "=????=";
message = null;
assertEquals(expect, DecoderUtil.decodeEncodedWords(body, message));
body = "=??q??=";
expect = "=??q??=";
;
message = null;
assertEquals(expect, DecoderUtil.decodeEncodedWords(body, message));
body = "=??q?a?=";
expect = "a";
message = null;
assertEquals(expect, DecoderUtil.decodeEncodedWords(body, message));
body = "=??=";
expect = "=??=";
message = null;
assertEquals(expect, DecoderUtil.decodeEncodedWords(body, message));
body = "=?x?=";
expect = "=?x?=";
message = null;
assertEquals(expect, DecoderUtil.decodeEncodedWords(body, message));
body = "=?x??=";
expect = "=?x??=";
message = null;
assertEquals(expect, DecoderUtil.decodeEncodedWords(body, message));
body = "=?x?q?=";
expect = "=?x?q?=";
message = null;
assertEquals(expect, DecoderUtil.decodeEncodedWords(body, message));
body = "=?x?q??=";
expect = "=?x?q??=";
message = null;
assertEquals(expect, DecoderUtil.decodeEncodedWords(body, message));
body = "=?x?q?X?=";
expect = "X";
message = null;
assertEquals(expect, DecoderUtil.decodeEncodedWords(body, message));
// invalid base64 string
body = "=?us-ascii?b?abc?=";
expect = "";
message = null;
assertEquals(expect, DecoderUtil.decodeEncodedWords(body, message));
// broken encoded header
body = "=?us-ascii?q?abc?= =?";
expect = "abc =?";
message = null;
assertEquals(expect, DecoderUtil.decodeEncodedWords(body, message));
body = "=?x?= =?";
expect = "=?x?= =?";
message = null;
assertEquals(expect, DecoderUtil.decodeEncodedWords(body, message));
}
}