Subversion Repositories javautils

Rev

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
}