KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > columba > mail > parser > ListParserTest


1 // The contents of this file are subject to the Mozilla Public License Version
2
// 1.1
3
//(the "License"); you may not use this file except in compliance with the
4
//License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
5
//
6
//Software distributed under the License is distributed on an "AS IS" basis,
7
//WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
8
//for the specific language governing rights and
9
//limitations under the License.
10
//
11
//The Original Code is "The Columba Project"
12
//
13
//The Initial Developers of the Original Code are Frederik Dietz and Timo
14
// Stich.
15
//Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
16
//
17
//All Rights Reserved.
18
package org.columba.mail.parser;
19
20 import java.util.List JavaDoc;
21 import java.util.Vector JavaDoc;
22
23 import junit.framework.TestCase;
24
25 /**
26  * @author fdietz
27  *
28  */

29 public class ListParserTest extends TestCase {
30
31     public void testCreateListFromStringNull() {
32
33         try {
34             ListParser.createListFromString(null);
35             fail();
36         } catch (IllegalArgumentException JavaDoc e) {
37         }
38     }
39
40     public void testCreateListFromStringEmpty() {
41         String JavaDoc s = "";
42
43         List JavaDoc<String JavaDoc> l = ListParser.createListFromString(s);
44         assertEquals("list size 0", 0, l.size());
45     }
46
47     public void testCreateListFromString() {
48         String JavaDoc s = "test@test.de";
49
50         List JavaDoc<String JavaDoc> l = ListParser.createListFromString(s);
51         assertEquals("list size 1", 1, l.size());
52
53         assertEquals("test@test.de", l.get(0));
54     }
55
56     public void testCreateListFromString2() {
57         String JavaDoc s = "test@test.de, test2@test2.de";
58
59         List JavaDoc<String JavaDoc> l = ListParser.createListFromString(s);
60         assertEquals("list size 2", 2, l.size());
61
62         assertEquals("test@test.de", l.get(0));
63         assertEquals("test2@test2.de", l.get(1));
64
65     }
66
67     /**
68      * test if leading or trailing whitespaces are trimmed correctly
69      *
70      */

71     public void testCreateListFromString3() {
72         String JavaDoc s = "test@test.de,test2@test2.de, MyGroup, My Test Group";
73
74         List JavaDoc<String JavaDoc> l = ListParser.createListFromString(s);
75         assertEquals("list size 4", 4, l.size());
76
77         assertEquals("test@test.de", l.get(0));
78         assertEquals("test2@test2.de", l.get(1));
79         assertEquals("MyGroup", l.get(2));
80         assertEquals("My Test Group", l.get(3));
81     }
82
83     /**
84      * test if a comma doesn't disturb our parser if enclosed in double-quotes
85      *
86      */

87     public void testCreateListFromString4() {
88         String JavaDoc s = "test@test.de, Firstname Lastname, \"Lastname, Firstname\"";
89
90         List JavaDoc<String JavaDoc> l = ListParser.createListFromString(s);
91         assertEquals("list size 3", 3, l.size());
92
93         assertEquals("test@test.de", l.get(0));
94         assertEquals("Firstname Lastname", l.get(1));
95         assertEquals("Lastname, Firstname", l.get(2));
96
97     }
98
99     /**
100      * test if \" characters are removed in the list, we only need this in the
101      * String representation
102      */

103     public void testCreateListFromString5() {
104         String JavaDoc s = "test@test.de, \"Firstname Lastname\", \"Lastname, Firstname\"";
105
106         List JavaDoc<String JavaDoc> l = ListParser.createListFromString(s);
107         assertEquals("list size 3", 3, l.size());
108
109         assertEquals("test@test.de", l.get(0));
110         assertEquals("Firstname Lastname", l.get(1));
111         assertEquals("Lastname, Firstname", l.get(2));
112     }
113
114     /**
115      * Test displayname and address with and without comma
116      */

117     public void testCreateListFromString6() {
118         String JavaDoc s = "test@test.de, \"Firstname Lastname\" <mail@mail.org>, \"Lastname, Firstname\" <mail@mail.org>";
119
120         List JavaDoc<String JavaDoc> l = ListParser.createListFromString(s);
121         assertEquals("list size 3", 3, l.size());
122
123         assertEquals("test@test.de", l.get(0));
124         assertEquals("Firstname Lastname <mail@mail.org>", l.get(1));
125         assertEquals("Lastname, Firstname <mail@mail.org>", l.get(2));
126     }
127
128     public void testCreateStringFromListNull() {
129         try {
130             ListParser.createStringFromList(new Vector JavaDoc<String JavaDoc>(), null);
131             fail();
132         } catch (IllegalArgumentException JavaDoc e) {
133         }
134     }
135
136     public void testCreateStringFromListNull2() {
137         try {
138             ListParser.createStringFromList(null, ";");
139             fail();
140         } catch (IllegalArgumentException JavaDoc e) {
141         }
142     }
143
144     public void testCreateStringFromListEmpty() {
145
146         List JavaDoc<String JavaDoc> list = new Vector JavaDoc<String JavaDoc>();
147
148         String JavaDoc result = ListParser.createStringFromList(list, ";");
149         assertEquals("", result);
150     }
151
152     public void testCreateStringFromList() {
153
154         List JavaDoc<String JavaDoc> list = new Vector JavaDoc<String JavaDoc>();
155         list.add("test@test.de");
156         list.add("test2@test2.de");
157
158         String JavaDoc result = ListParser.createStringFromList(list, ",");
159         assertEquals("test@test.de, test2@test2.de, ", result);
160     }
161     
162     /**
163      * Test if \" character disturbs our parser
164      */

165     public void testCreateStringFromList2() {
166
167         List JavaDoc<String JavaDoc> list = new Vector JavaDoc<String JavaDoc>();
168         list.add("test@test.de");
169         list.add("\"My yours and he's list\"");
170
171         String JavaDoc result = ListParser.createStringFromList(list, ",");
172         assertEquals("test@test.de, My yours and he's list, ", result);
173     }
174     
175
176     /**
177      * Test if "," inside a contact item is escaped correctly
178      *
179      */

180     public void testCreateStringFromList4() {
181
182         List JavaDoc<String JavaDoc> list = new Vector JavaDoc<String JavaDoc>();
183         list.add("test@test.de");
184         list.add("Firstname Lastname");
185         list.add("\"Lastname, Firstname\"");
186         
187         String JavaDoc result = ListParser.createStringFromList(list, ",");
188         assertEquals("test@test.de, Firstname Lastname, \"Lastname, Firstname\", ", result);
189     }
190     
191     /**
192      * Test what parser does if contact item already contains an escaped
193      * representation
194      */

195     public void testCreateStringFromList5() {
196
197         List JavaDoc<String JavaDoc> list = new Vector JavaDoc<String JavaDoc>();
198         list.add("test@test.de");
199         list.add("\"Firstname Lastname\" <mail@mail.org>");
200         list.add("\"Lastname, Firstname\" <mail@mail.org>");
201         
202         String JavaDoc result = ListParser.createStringFromList(list, ",");
203         assertEquals("test@test.de, Firstname Lastname <mail@mail.org>, \"Lastname, Firstname\" <mail@mail.org>, ", result);
204     }
205
206     
207
208 }
209
Popular Tags