From 6f7f1674f73a9eecdefec7352fbee114e9cb831a Mon Sep 17 00:00:00 2001 From: Laurent Richard Date: Mon, 18 Oct 2004 19:27:18 +0000 Subject: [PATCH] header class unit tests added --- tests/parser/headerTest.cpp | 110 +++++++++++++++++++++++++++++------- 1 file 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 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 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 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(); - 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); }