Rev 17 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 17 | Rev 24 | ||
---|---|---|---|
Line 7... | Line 7... | ||
7 | import org.junit.Test; |
7 | import org.junit.Test; |
8 | 8 | ||
9 | import de.viathinksoft.utils.mail.address.EMailAddress; |
9 | import de.viathinksoft.utils.mail.address.EMailAddress; |
10 | 10 | ||
11 | public class EMailAddressTest { |
11 | public class EMailAddressTest { |
12 | 12 | ||
- | 13 | // Japanese IDN Test TLD |
|
13 | private static final String ExamplePunycode = "xn--zckzah"; // Japanese IDN Test TLD |
14 | private static final String ExamplePunycode = "xn--zckzah"; |
14 | private static final String ExampleUnicode = IDN.toUnicode(ExamplePunycode); |
15 | private static final String ExampleUnicode = IDN.toUnicode(ExamplePunycode); |
15 | 16 | ||
16 | @Test |
17 | @Test |
17 | public void testAddressParsing() { |
18 | public void testAddressParsing() { |
18 | try { |
19 | try { |
19 | new EMailAddress(null); |
20 | new EMailAddress(null); |
20 | fail(); |
21 | fail(); |
21 | } catch (NullPointerException e) { |
22 | } catch (NullPointerException e) { |
22 | } |
23 | } |
23 | 24 | ||
24 | EMailAddress a; |
25 | EMailAddress a; |
25 | 26 | ||
26 | a = new EMailAddress(""); |
27 | a = new EMailAddress(""); |
27 | assertEquals("", a.getLocalPart()); |
28 | assertEquals("", a.getLocalPart()); |
28 | // assertEquals("", a.getLocalPartASCII()); |
29 | // assertEquals("", a.getLocalPartASCII()); |
29 | assertEquals("", a.getDomainPartUnicode()); |
30 | assertEquals("", a.getDomainPartUnicode()); |
30 | assertEquals("", a.getDomainPartPunycode()); |
31 | assertEquals("", a.getDomainPartPunycode()); |
Line 42... | Line 43... | ||
42 | assertEquals("", a.getTldUnicode()); |
43 | assertEquals("", a.getTldUnicode()); |
43 | assertEquals("", a.getTldPunycode()); |
44 | assertEquals("", a.getTldPunycode()); |
44 | assertEquals("bla", a.toString()); |
45 | assertEquals("bla", a.toString()); |
45 | assertEquals("bla", a.getMailAddressUnicode()); |
46 | assertEquals("bla", a.getMailAddressUnicode()); |
46 | assertEquals("bla", a.getMailAddressPunycodedDomain()); |
47 | assertEquals("bla", a.getMailAddressPunycodedDomain()); |
47 | 48 | ||
48 | a = new EMailAddress(ExampleUnicode); |
49 | a = new EMailAddress(ExampleUnicode); |
49 | assertEquals(ExampleUnicode, a.getLocalPart()); |
50 | assertEquals(ExampleUnicode, a.getLocalPart()); |
50 | // assertEquals("", a.getLocalPartASCII()); |
51 | // assertEquals("", a.getLocalPartASCII()); |
51 | assertEquals("", a.getDomainPartUnicode()); |
52 | assertEquals("", a.getDomainPartUnicode()); |
52 | assertEquals("", a.getDomainPartPunycode()); |
53 | assertEquals("", a.getDomainPartPunycode()); |
Line 86... | Line 87... | ||
86 | assertEquals("tld", a.getTldUnicode()); |
87 | assertEquals("tld", a.getTldUnicode()); |
87 | assertEquals("tld", a.getTldPunycode()); |
88 | assertEquals("tld", a.getTldPunycode()); |
88 | assertEquals("local@domain.tld", a.toString()); |
89 | assertEquals("local@domain.tld", a.toString()); |
89 | assertEquals("local@domain.tld", a.getMailAddressUnicode()); |
90 | assertEquals("local@domain.tld", a.getMailAddressUnicode()); |
90 | assertEquals("local@domain.tld", a.getMailAddressPunycodedDomain()); |
91 | assertEquals("local@domain.tld", a.getMailAddressPunycodedDomain()); |
91 | 92 | ||
92 | a = new EMailAddress("local@"+ExampleUnicode+".jp"); |
93 | a = new EMailAddress("local@" + ExampleUnicode + ".jp"); |
93 | assertEquals("local", a.getLocalPart()); |
94 | assertEquals("local", a.getLocalPart()); |
94 | // assertEquals("local", a.getlocalPartASCII()); |
95 | // assertEquals("local", a.getlocalPartASCII()); |
95 | assertEquals(ExampleUnicode+".jp", a.getDomainPartUnicode()); |
96 | assertEquals(ExampleUnicode + ".jp", a.getDomainPartUnicode()); |
96 | assertEquals(ExamplePunycode+".jp", a.getDomainPartPunycode()); |
97 | assertEquals(ExamplePunycode + ".jp", a.getDomainPartPunycode()); |
97 | assertEquals("jp", a.getTldUnicode()); |
98 | assertEquals("jp", a.getTldUnicode()); |
98 | assertEquals("jp", a.getTldPunycode()); |
99 | assertEquals("jp", a.getTldPunycode()); |
99 | assertEquals("local@"+ExampleUnicode+".jp", a.getMailAddressUnicode()); |
100 | assertEquals("local@" + ExampleUnicode + ".jp", a |
- | 101 | .getMailAddressUnicode()); |
|
100 | assertEquals("local@"+ExamplePunycode+".jp", a.getMailAddressPunycodedDomain()); |
102 | assertEquals("local@" + ExamplePunycode + ".jp", a |
- | 103 | .getMailAddressPunycodedDomain()); |
|
101 | EMailAddress.USE_UNICODE_AS_STANDARD = true; |
104 | EMailAddress.USE_UNICODE_AS_STANDARD = true; |
102 | assertEquals("local@"+ExampleUnicode+".jp", a.toString()); |
105 | assertEquals("local@" + ExampleUnicode + ".jp", a.toString()); |
103 | EMailAddress.USE_UNICODE_AS_STANDARD = false; |
106 | EMailAddress.USE_UNICODE_AS_STANDARD = false; |
104 | assertEquals("local@"+ExamplePunycode+".jp", a.toString()); |
107 | assertEquals("local@" + ExamplePunycode + ".jp", a.toString()); |
105 | 108 | ||
106 | a = new EMailAddress("local@example."+ExampleUnicode); |
109 | a = new EMailAddress("local@example." + ExampleUnicode); |
107 | assertEquals("local", a.getLocalPart()); |
110 | assertEquals("local", a.getLocalPart()); |
108 | // assertEquals("local", a.getlocalPartASCII()); |
111 | // assertEquals("local", a.getlocalPartASCII()); |
109 | assertEquals("example."+ExampleUnicode, a.getDomainPartUnicode()); |
112 | assertEquals("example." + ExampleUnicode, a.getDomainPartUnicode()); |
110 | assertEquals("example."+ExamplePunycode, a.getDomainPartPunycode()); |
113 | assertEquals("example." + ExamplePunycode, a.getDomainPartPunycode()); |
111 | assertEquals(ExampleUnicode, a.getTldUnicode()); |
114 | assertEquals(ExampleUnicode, a.getTldUnicode()); |
112 | assertEquals(ExamplePunycode, a.getTldPunycode()); |
115 | assertEquals(ExamplePunycode, a.getTldPunycode()); |
113 | assertEquals("local@example."+ExampleUnicode, a.getMailAddressUnicode()); |
116 | assertEquals("local@example." + ExampleUnicode, a |
- | 117 | .getMailAddressUnicode()); |
|
114 | assertEquals("local@example."+ExamplePunycode, a.getMailAddressPunycodedDomain()); |
118 | assertEquals("local@example." + ExamplePunycode, a |
- | 119 | .getMailAddressPunycodedDomain()); |
|
115 | EMailAddress.USE_UNICODE_AS_STANDARD = true; |
120 | EMailAddress.USE_UNICODE_AS_STANDARD = true; |
116 | assertEquals("local@example."+ExampleUnicode, a.toString()); |
121 | assertEquals("local@example." + ExampleUnicode, a.toString()); |
117 | EMailAddress.USE_UNICODE_AS_STANDARD = false; |
122 | EMailAddress.USE_UNICODE_AS_STANDARD = false; |
118 | assertEquals("local@example."+ExamplePunycode, a.toString()); |
123 | assertEquals("local@example." + ExamplePunycode, a.toString()); |
119 | } |
124 | } |
120 | 125 | ||
121 | @Test |
126 | @Test |
122 | public void testIsUnicode() { |
127 | public void testIsUnicode() { |
123 | assertFalse(EMailAddress.isUnicode(null)); |
128 | assertFalse(EMailAddress.isUnicode(null)); |
124 | assertFalse(EMailAddress.isUnicode("")); |
129 | assertFalse(EMailAddress.isUnicode("")); |
125 | assertFalse(EMailAddress.isUnicode(ExamplePunycode)); |
130 | assertFalse(EMailAddress.isUnicode(ExamplePunycode)); |
126 | assertTrue(EMailAddress.isUnicode(ExampleUnicode)); |
131 | assertTrue(EMailAddress.isUnicode(ExampleUnicode)); |
127 | } |
132 | } |
128 | 133 | ||
129 | @Test |
134 | @Test |
130 | public void testIsPunycode() { |
135 | public void testIsPunycode() { |
131 | assertFalse(EMailAddress.isPunycode(null)); |
136 | assertFalse(EMailAddress.isPunycode(null)); |
132 | assertFalse(EMailAddress.isPunycode("")); |
137 | assertFalse(EMailAddress.isPunycode("")); |
133 | assertTrue(EMailAddress.isPunycode(ExamplePunycode)); |
138 | assertTrue(EMailAddress.isPunycode(ExamplePunycode)); |
134 | assertFalse(EMailAddress.isPunycode(ExampleUnicode)); |
139 | assertFalse(EMailAddress.isPunycode(ExampleUnicode)); |
135 | } |
140 | } |
136 | 141 | ||
137 | @Test |
142 | @Test |
138 | public void testClone() throws CloneNotSupportedException { |
143 | public void testClone() throws CloneNotSupportedException { |
139 | EMailAddress a = new EMailAddress("local@example."+ExampleUnicode); |
144 | EMailAddress a = new EMailAddress("local@example." + ExampleUnicode); |
140 | EMailAddress b = (EMailAddress) a.clone(); |
145 | EMailAddress b = (EMailAddress) a.clone(); |
141 | 146 | ||
142 | assertFalse(a == b); |
147 | assertFalse(a == b); |
143 | assertTrue(a.equals(b)); |
148 | assertTrue(a.equals(b)); |
144 | assertTrue(b.equals(a)); |
149 | assertTrue(b.equals(a)); |
145 | 150 | ||
146 | assertEquals(b.getDomainPartPunycode(), a.getDomainPartPunycode()); |
151 | assertEquals(b.getDomainPartPunycode(), a.getDomainPartPunycode()); |
147 | assertEquals(b.getDomainPartUnicode(), a.getDomainPartUnicode()); |
152 | assertEquals(b.getDomainPartUnicode(), a.getDomainPartUnicode()); |
148 | assertEquals(b.getLocalPart(), a.getLocalPart()); |
153 | assertEquals(b.getLocalPart(), a.getLocalPart()); |
149 | assertEquals(b.getMailAddressPunycodedDomain(), a.getMailAddressPunycodedDomain()); |
154 | assertEquals(b.getMailAddressPunycodedDomain(), a |
- | 155 | .getMailAddressPunycodedDomain()); |
|
150 | assertEquals(b.getMailAddressUnicode(), a.getMailAddressUnicode()); |
156 | assertEquals(b.getMailAddressUnicode(), a.getMailAddressUnicode()); |
151 | assertEquals(b.getTldPunycode(), a.getTldPunycode()); |
157 | assertEquals(b.getTldPunycode(), a.getTldPunycode()); |
152 | assertEquals(b.getTldUnicode(), a.getTldUnicode()); |
158 | assertEquals(b.getTldUnicode(), a.getTldUnicode()); |
153 | EMailAddress.USE_UNICODE_AS_STANDARD = true; |
159 | EMailAddress.USE_UNICODE_AS_STANDARD = true; |
154 | assertEquals(b.toString(), a.toString()); |
160 | assertEquals(b.toString(), a.toString()); |
155 | EMailAddress.USE_UNICODE_AS_STANDARD = false; |
161 | EMailAddress.USE_UNICODE_AS_STANDARD = false; |
156 | assertEquals(b.toString(), a.toString()); |
162 | assertEquals(b.toString(), a.toString()); |
157 | } |
163 | } |
158 | 164 | ||
159 | @Test |
165 | @Test |
160 | public void testEquals() { |
166 | public void testEquals() { |
161 | EMailAddress a = new EMailAddress("local@example."+ExampleUnicode); |
167 | EMailAddress a = new EMailAddress("local@example." + ExampleUnicode); |
162 | EMailAddress b = new EMailAddress("local@example."+ExampleUnicode); |
168 | EMailAddress b = new EMailAddress("local@example." + ExampleUnicode); |
163 | 169 | ||
164 | assertFalse(a == b); |
170 | assertFalse(a == b); |
165 | assertTrue(a.equals(b)); |
171 | assertTrue(a.equals(b)); |
166 | assertTrue(b.equals(a)); |
172 | assertTrue(b.equals(a)); |
167 | } |
173 | } |
- | 174 | ||
- | 175 | @Test |
|
- | 176 | public void preprocessTrimTest() { |
|
- | 177 | // Check that trim() works |
|
- | 178 | assertEquals( |
|
- | 179 | "test@test.de", |
|
- | 180 | EMailAddress |
|
- | 181 | .preprocess(" \t \n\t\n\r test@test.de \t \n\r\n \r ")); |
|
- | 182 | } |
|
- | 183 | ||
- | 184 | @Test |
|
- | 185 | public void preprocessIDNTest() { |
|
- | 186 | // Check that IDN addresses are decoded |
|
- | 187 | assertEquals("test@" + ExamplePunycode + "." + ExamplePunycode, |
|
- | 188 | EMailAddress.preprocess(" \t \n\t\n\r test@" + ExampleUnicode |
|
- | 189 | + "." + ExampleUnicode + " \t \n\r\n \r ")); |
|
- | 190 | } |
|
168 | } |
191 | } |