10
void testRfc822::testGroup()
15
const char *input, *name, *mailboxes[max_n];
17
static const test_item data[] = {
29
" group name : e@mail.com, b@mail.com",
34
"group(comment)name: e@mail.com , se@cond.com, th@ird.com;",
36
{"e@mail.com", "se@cond.com", "th@ird.com", 0 }
41
for( int i = 0; data[i].input; ++i)
43
Group grp(data[i].input);
44
TEST_ASSERT_EQUALS_M(grp.name(), data[i].name,
45
PRINT_ON_FAILURE_2(grp.name(), data[i].name) );
46
Group::const_iterator bit = grp.begin(), eit = grp.end();
47
for( int t = 0; data[i].mailboxes[t]; ++t, ++bit)
49
TEST_ASSERT( bit != eit );
50
const Mailbox& mbx = *bit;
52
cerr << mbx.mailbox() << endl;
53
cerr << mbx.domain() << endl;
54
cerr << mbx.str() << endl;
56
TEST_ASSERT_EQUALS_M(mbx, data[i].mailboxes[t],
57
PRINT_ON_FAILURE_3(t, mbx.str(), data[i].mailboxes[t]) );
63
void testRfc822::testMailbox()
67
const char *input, *mailbox, *domain, *label, *sourceroute;
69
static const test_item data[] = {
70
{ "e@mail.com", "e", "mail.com", "", "" },
71
{ "<e@mail.com>", "e", "mail.com", "", "" },
72
{ "(My Name) <e@mail.com>", "e", "mail.com", "(My Name)", "" },
73
{ "descr <e@mail.com>", "e", "mail.com", "descr", "" },
74
{ "descr <e@mail.com>", "e", "mail.com", "descr", "" },
75
{ "\"with a space\"@mail.com", "\"with a space\"",
77
{ "<\"with a space\"@mail.com>", "\"with a space\"",
79
{ "name surname <@dom1.com@dom2.com:e@mail.com>", "e",
80
"mail.com", "name surname", "@dom1.com@dom2.com" },
82
{ "de(this is a comment)scr <e(boom)@mail.com>", "e",
83
"mail.com", "de(this is a comment)scr", "" },
84
{ "<e(boom). (boo)d@mail.com>", "e.d", "mail.com", "", "" },
85
{ "Bella Ragga <e(boom). (boo)d@mail.com>", "e.d",
86
"mail.com", "Bella Ragga", "" },
90
for( int i = 0; data[i].input; ++i)
92
Mailbox mbx(data[i].input);
93
TEST_ASSERT_EQUALS_M(mbx.mailbox(), data[i].mailbox,
99
TEST_ASSERT_EQUALS_M(mbx.domain(), data[i].domain,
105
TEST_ASSERT_EQUALS_M(mbx.label(), data[i].label,
111
TEST_ASSERT_EQUALS_M(mbx.sourceroute(), data[i].sourceroute,
116
data[i].sourceroute));
119
// test == and != operators
120
for( int i = 0; data[i].input; ++i)
122
Mailbox mbx, mbxParsed(data[i].input);
123
mbx.mailbox(data[i].mailbox);
124
mbx.domain(data[i].domain);
125
mbx.label(data[i].label);
126
mbx.sourceroute(data[i].sourceroute);
127
TEST_ASSERT_EQUALS_M(mbxParsed, mbx,
136
void testRfc822::testAddress()
138
Address a("e@mail.com"), b;
140
TEST_ASSERT(!a.isGroup());
143
TEST_ASSERT_EQUALS(a, b);
145
a.set("<e@mail.com>");
146
TEST_ASSERT(!a.isGroup());
148
a.set(" desc <e@mail.com>");
149
TEST_ASSERT(!a.isGroup());
151
a.set("group label: e@mail.com; <b@aa.com>; blah <email@di.com>; ");
152
TEST_ASSERT(a.isGroup());
154
b.set("group label: ;");
155
TEST_ASSERT(b.isGroup());