aboutsummaryrefslogtreecommitdiffstats
path: root/tests/parser/headerTest.cpp
diff options
context:
space:
mode:
authorLaurent Richard <[email protected]>2004-10-18 19:27:18 +0000
committerLaurent Richard <[email protected]>2004-10-18 19:27:18 +0000
commit6f7f1674f73a9eecdefec7352fbee114e9cb831a (patch)
treefb17221cfc8e5d8bcce0045928780f0de6393a97 /tests/parser/headerTest.cpp
parentFixed a bug when parsing a mailbox with no explicit email address (should be ... (diff)
downloadvmime-6f7f1674f73a9eecdefec7352fbee114e9cb831a.tar.gz
vmime-6f7f1674f73a9eecdefec7352fbee114e9cb831a.zip
header class unit tests added
Diffstat (limited to 'tests/parser/headerTest.cpp')
-rw-r--r--tests/parser/headerTest.cpp110
1 files changed, 91 insertions, 19 deletions
diff --git a/tests/parser/headerTest.cpp b/tests/parser/headerTest.cpp
index b8eab349..90905c3e 100644
--- a/tests/parser/headerTest.cpp
+++ b/tests/parser/headerTest.cpp
@@ -21,8 +21,70 @@ namespace
return (oss.str());
}
- // getAllByType function tests
- void testGetAllByType1()
+ // has function tests
+ void testHas1(/*By type*/)
+ {
+ vmime::header hdr;
+ hdr.parse("From: x\r\nTo: y\r\nSubject: test\r\n");
+
+ bool res = hdr.fields.has(vmime::headerField::To);
+
+ assert_eq("Value", true, res);
+ }
+
+ void testHas2(/*By type*/)
+ {
+ vmime::header hdr;
+ hdr.parse("From: x\r\nTo: y\r\nTo: z\r\n");
+
+ bool res = hdr.fields.has(vmime::headerField::Subject);
+
+ assert_eq("Value", false, res);
+ }
+
+ void testHas3(/*By name*/)
+ {
+ vmime::header hdr;
+ hdr.parse("From: x\r\nTo: y\r\nTo: z\r\n");
+
+ bool res = hdr.fields.has("Z");
+
+ assert_eq("Value", false, res);
+ }
+
+ void testHas4(/*By name*/)
+ {
+ vmime::header hdr;
+ hdr.parse("X: x\r\nTo: y\r\nTo: z\r\n");
+
+ bool res = hdr.fields.has("To");
+
+ assert_eq("Value", true, res);
+ }
+
+ // find function tests
+ void testFind1(/*By type*/)
+ {
+ vmime::header hdr;
+ hdr.parse("From: a\r\nTo: b\r\nTo: c\r\nFrom: d\r\n");
+
+ vmime::headerField& res = hdr.fields.find(vmime::headerField::To);
+
+ assert_eq("Value", "To: b", getFieldValue(res));
+ }
+
+ void testFind2(/*By name*/)
+ {
+ vmime::header hdr;
+ hdr.parse("A: a\r\nB: b\r\nC: c\r\nB: d\r\n");
+
+ vmime::headerField& res = hdr.fields.find("B");
+
+ assert_eq("Value", "B: b", getFieldValue(res));
+ }
+
+ // findAllByType function tests
+ void testFindAllByType1()
{
vmime::header hdr;
hdr.parse("To: a\r\nFrom: b\r\n");
@@ -32,7 +94,7 @@ namespace
assert_eq("Count", (unsigned int) 0, res.size());
}
- void testGetAllByType2()
+ void testFindAllByType2()
{
vmime::header hdr;
hdr.parse("To: b\r\nTo : a\r\nFrom: c\r\n");
@@ -40,12 +102,12 @@ namespace
std::vector <vmime::headerField*> res = hdr.fields.findAllByType(vmime::headerField::To);
assert_eq("Count", (unsigned int) 2, res.size());
- assert_eq("First value", "To: b", headerTest::getFieldValue(*res[0]));
- assert_eq("First value", "To: a", headerTest::getFieldValue(*res[1]));
+ assert_eq("First value", "To: b", getFieldValue(*res[0]));
+ assert_eq("First value", "To: a", getFieldValue(*res[1]));
}
- // getAllByName function tests
- void testGetAllByName1()
+ // findAllByName function tests
+ void testFindAllByName1()
{
vmime::header hdr;
hdr.parse("A: a1\nC: c1\n");
@@ -55,7 +117,7 @@ namespace
assert_eq("Count", (unsigned int) 0, res.size());
}
- void testGetAllByName2()
+ void testFindAllByName2()
{
vmime::header hdr;
hdr.parse("A: a1\nB: b1\nB: b2\nC: c1\n");
@@ -63,11 +125,11 @@ namespace
std::vector <vmime::headerField*> res = hdr.fields.findAllByName("B");
assert_eq("Count", (unsigned int) 2, res.size());
- assert_eq("First value", "B: b1", headerTest::getFieldValue(*res[0]));
- assert_eq("Second value", "B: b2", headerTest::getFieldValue(*res[1]));
+ assert_eq("First value", "B: b1", getFieldValue(*res[0]));
+ assert_eq("Second value", "B: b2", getFieldValue(*res[1]));
}
- void testGetAllByName3()
+ void testFindAllByName3()
{
vmime::header hdr;
hdr.parse("A: a1\nB: b1\nB: b2\nC: c1\nC: c3\nC: c2\n");
@@ -75,9 +137,9 @@ namespace
std::vector <vmime::headerField*> res = hdr.fields.findAllByName("C");
assert_eq("Count", (unsigned int) 3, res.size());
- assert_eq("First value", "C: c1", headerTest::getFieldValue(*res[0]));
- assert_eq("Second value", "C: c3", headerTest::getFieldValue(*res[1]));
- assert_eq("Second value", "C: c2", headerTest::getFieldValue(*res[2]));
+ assert_eq("First value", "C: c1", getFieldValue(*res[0]));
+ assert_eq("Second value", "C: c3", getFieldValue(*res[1]));
+ assert_eq("Second value", "C: c2", getFieldValue(*res[2]));
}
public:
@@ -87,11 +149,21 @@ namespace
// VMime initialization
vmime::platformDependant::setHandler<my_handler>();
- add("GetAllByType", testcase(this, "GetAllByType1", &headerTest::testGetAllByType1));
- add("GetAllByType", testcase(this, "GetAllByType2", &headerTest::testGetAllByType2));
- add("GetAllByName", testcase(this, "GetAllByName1", &headerTest::testGetAllByName1));
- add("GetAllByName", testcase(this, "GetAllByName2", &headerTest::testGetAllByName2));
- add("GetAllByName", testcase(this, "GetAllByName3", &headerTest::testGetAllByName3));
+ add("Has", testcase(this, "Has1", &headerTest::testHas1));
+ add("Has", testcase(this, "Has2", &headerTest::testHas2));
+ add("Has", testcase(this, "Has3", &headerTest::testHas3));
+ add("Has", testcase(this, "Has4", &headerTest::testHas4));
+
+ add("Find", testcase(this, "Find1", &headerTest::testFind1));
+ add("Find", testcase(this, "Find2", &headerTest::testFind2));
+
+ add("FindAllByType", testcase(this, "FindAllByType1", &headerTest::testFindAllByType1));
+ add("FindAllByType", testcase(this, "FindAllByType2", &headerTest::testFindAllByType2));
+
+ add("FindAllByName", testcase(this, "FindAllByName1", &headerTest::testFindAllByName1));
+ add("FindAllByName", testcase(this, "FindAllByName2", &headerTest::testFindAllByName2));
+ add("FindAllByName", testcase(this, "FindAllByName3", &headerTest::testFindAllByName3));
+
suite::main().add("vmime::header", this);
}