110
111
camel_test_init (argc, argv);
112
camel_test_start("CamelInternetAddress, basics");
113
camel_test_start ("CamelInternetAddress, basics");
114
115
addr = camel_internet_address_new ();
116
push("Test blank address");
117
push ("Test blank address");
117
118
check (camel_address_length (CAMEL_ADDRESS (addr)) == 0);
118
119
check (camel_internet_address_get (addr, 0, &real, &where) == FALSE);
121
push("Test blank clone");
122
push ("Test blank clone");
122
123
addr2 = CAMEL_INTERNET_ADDRESS (camel_address_new_clone (CAMEL_ADDRESS (addr)));
123
124
test_address_compare (addr, addr2);
124
125
check_unref (addr2, 1);
128
camel_internet_address_add(addr, "Zed", "nowhere@here.com.au");
129
camel_internet_address_add (addr, "Zed", "nowhere@here.com.au");
129
130
check (camel_address_length (CAMEL_ADDRESS (addr)) == 1);
130
131
check (camel_internet_address_get (addr, 0, &real, &where) == TRUE);
131
check_msg(string_equal("Zed", real), "real = '%s'", real);
132
check(strcmp(where, "nowhere@here.com.au") == 0);
132
check_msg (string_equal ("Zed", real), "real = '%s'", real);
133
check (strcmp (where, "nowhere@here.com.au") == 0);
135
push("Test clone 1");
136
push ("Test clone 1");
136
137
addr2 = CAMEL_INTERNET_ADDRESS (camel_address_new_clone (CAMEL_ADDRESS (addr)));
137
138
test_address_compare (addr, addr2);
138
139
check_unref (addr2, 1);
141
push("Test add many");
142
push ("Test add many");
142
143
for (i = 1; i < 10; i++) {
143
144
gchar name[16], a[32];
144
sprintf(name, "Zed %d", i);
145
sprintf(a, "nowhere@here-%d.com.au", i);
145
sprintf (name, "Zed %d", i);
146
sprintf (a, "nowhere@here-%d.com.au", i);
146
147
camel_internet_address_add (addr, name, a);
147
148
check (camel_address_length (CAMEL_ADDRESS (addr)) == i + 1);
148
149
check (camel_internet_address_get (addr, i, &real, &where) == TRUE);
149
check_msg(string_equal(name, real), "name = '%s' real = '%s'", name, real);
150
check_msg (string_equal (name, real), "name = '%s' real = '%s'", name, real);
150
151
check (strcmp (where, a) == 0);
154
155
/* put a few of these in to make it look like its doing something impressive ... :) */
155
156
camel_test_end ();
156
camel_test_start("CamelInternetAddress, search");
157
camel_test_start ("CamelInternetAddress, search");
159
camel_test_nonfatal("Address comparisons should ignore whitespace??");
160
check(camel_internet_address_find_name(addr, "Zed 1", &where) == 1);
161
check(camel_internet_address_find_name(addr, "Zed 9", &where) == 9);
162
check(camel_internet_address_find_name(addr, "Zed", &where) == 0);
163
check(camel_internet_address_find_name(addr, " Zed", &where) == 0);
164
check(camel_internet_address_find_name(addr, "Zed ", &where) == 0);
165
check(camel_internet_address_find_name(addr, " Zed ", &where) == 0);
166
check(camel_internet_address_find_name(addr, "Zed 20", &where) == -1);
167
check(camel_internet_address_find_name(addr, "", &where) == -1);
159
push ("Test search");
160
camel_test_nonfatal ("Address comparisons should ignore whitespace??");
161
check (camel_internet_address_find_name (addr, "Zed 1", &where) == 1);
162
check (camel_internet_address_find_name (addr, "Zed 9", &where) == 9);
163
check (camel_internet_address_find_name (addr, "Zed", &where) == 0);
164
check (camel_internet_address_find_name (addr, " Zed", &where) == 0);
165
check (camel_internet_address_find_name (addr, "Zed ", &where) == 0);
166
check (camel_internet_address_find_name (addr, " Zed ", &where) == 0);
167
check (camel_internet_address_find_name (addr, "Zed 20", &where) == -1);
168
check (camel_internet_address_find_name (addr, "", &where) == -1);
168
169
/* interface dont handle nulls :) */
169
170
/*check(camel_internet_address_find_name(addr, NULL, &where) == -1);*/
171
check(camel_internet_address_find_address(addr, "nowhere@here-1.com.au", &where) == 1);
172
check(camel_internet_address_find_address(addr, "nowhere@here-1 . com.au", &where) == 1);
173
check(camel_internet_address_find_address(addr, "nowhere@here-2 .com.au ", &where) == 2);
174
check(camel_internet_address_find_address(addr, " nowhere @here-3.com.au", &where) == 3);
175
check(camel_internet_address_find_address(addr, "nowhere@here-20.com.au ", &where) == -1);
176
check(camel_internet_address_find_address(addr, "", &where) == -1);
172
check (camel_internet_address_find_address (addr, "nowhere@here-1.com.au", &where) == 1);
173
check (camel_internet_address_find_address (addr, "nowhere@here-1 . com.au", &where) == 1);
174
check (camel_internet_address_find_address (addr, "nowhere@here-2 .com.au ", &where) == 2);
175
check (camel_internet_address_find_address (addr, " nowhere @here-3.com.au", &where) == 3);
176
check (camel_internet_address_find_address (addr, "nowhere@here-20.com.au ", &where) == -1);
177
check (camel_internet_address_find_address (addr, "", &where) == -1);
177
178
/*check(camel_internet_address_find_address(addr, NULL, &where) == -1);*/
178
179
camel_test_fatal ();
181
182
camel_test_end ();
182
camel_test_start("CamelInternetAddress, copy/cat/clone");
183
camel_test_start ("CamelInternetAddress, copy/cat/clone");
184
push("Test clone many");
185
push ("Test clone many");
185
186
addr2 = CAMEL_INTERNET_ADDRESS (camel_address_new_clone (CAMEL_ADDRESS (addr)));
186
187
test_address_compare (addr, addr2);
189
push("Test remove items");
190
push ("Test remove items");
190
191
camel_address_remove (CAMEL_ADDRESS (addr2), 0);
191
192
check (camel_address_length (CAMEL_ADDRESS (addr2)) == 9);
192
193
camel_address_remove (CAMEL_ADDRESS (addr2), 0);
245
246
charset = test_lines[i].type;
246
247
name = to_utf8 (test_lines[i].line, charset);
248
push("Address setup");
249
camel_internet_address_add(addr, name, "nobody@nowhere.com");
249
push ("Address setup");
250
camel_internet_address_add (addr, name, "nobody@nowhere.com");
250
251
check (camel_internet_address_get (addr, 0, &real, &where) == TRUE);
251
check_msg(string_equal(name, real), "name = '%s' real = '%s'", name, real);
252
check(strcmp(where, "nobody@nowhere.com") == 0);
252
check_msg (string_equal (name, real), "name = '%s' real = '%s'", name, real);
253
check (strcmp (where, "nobody@nowhere.com") == 0);
253
254
test_free (name);
255
256
check (camel_internet_address_get (addr, 1, &real, &where) == FALSE);
256
257
check (camel_address_length (CAMEL_ADDRESS (addr)) == 1);
259
push("Address encode/decode");
260
push ("Address encode/decode");
260
261
enc = camel_address_encode (CAMEL_ADDRESS (addr));
262
263
addr2 = camel_internet_address_new ();
310
311
camel_test_end ();
312
camel_test_start("CamelInternetAddress, I18N decode");
313
camel_test_start ("CamelInternetAddress, I18N decode");
314
315
for (i = 0; i < G_N_ELEMENTS (test_address); i++) {
315
push("Testing address line %d '%s'", i, test_address[i].addr);
316
push ("Testing address line %d '%s'", i, test_address[i].addr);
317
318
addr = camel_internet_address_new ();
318
push("checking decoded");
319
push ("checking decoded");
319
320
check (camel_address_decode (CAMEL_ADDRESS (addr), test_address[i].addr) == test_address[i].count);
320
321
format = camel_address_format (CAMEL_ADDRESS (addr));
321
322
check (strcmp (format, test_address[i].utf8) == 0);
322
323
test_free (format);
325
push("Comparing re-encoded output");
326
push ("Comparing re-encoded output");
326
327
addr2 = CAMEL_INTERNET_ADDRESS (camel_internet_address_new ());
327
328
enc = camel_address_encode (CAMEL_ADDRESS (addr));
328
check_msg(camel_address_decode(CAMEL_ADDRESS(addr2), enc) == test_address[i].count, "enc = '%s'", enc);
329
check_msg (camel_address_decode (CAMEL_ADDRESS (addr2), enc) == test_address[i].count, "enc = '%s'", enc);
330
331
test_address_compare (addr, addr2);
331
332
check_unref (addr2, 1);