diff options
Diffstat (limited to 'tests/parser/headerFieldTest.cpp')
-rw-r--r-- | tests/parser/headerFieldTest.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/parser/headerFieldTest.cpp b/tests/parser/headerFieldTest.cpp index 5281a3a2..0642dae7 100644 --- a/tests/parser/headerFieldTest.cpp +++ b/tests/parser/headerFieldTest.cpp @@ -30,6 +30,7 @@ VMIME_TEST_SUITE_BEGIN(headerFieldTest) VMIME_TEST(testBadValueType) VMIME_TEST(testValueOnNextLine) VMIME_TEST(testStripSpacesAtEnd) + VMIME_TEST(testValueWithEmptyLine) VMIME_TEST_LIST_END @@ -84,4 +85,20 @@ VMIME_TEST_SUITE_BEGIN(headerFieldTest) VASSERT_EQ("Field value", toHex("field data"), toHex(hvalue->getWholeBuffer())); } + void testValueWithEmptyLine() + { + vmime::parsingContext ctx; + + const vmime::string buffer = "Field: \r\n\tdata1\r\n\tdata2\r\n\t\r\n\tdata3"; + + vmime::shared_ptr <vmime::headerField> hfield = + vmime::headerField::parseNext(ctx, buffer, 0, buffer.size()); + + vmime::shared_ptr <vmime::text> hvalue = + hfield->getValue <vmime::text>(); + + VASSERT_EQ("Field name", "Field", hfield->getName()); + VASSERT_EQ("Field value", "data1 data2 data3", hvalue->getWholeBuffer()); + } + VMIME_TEST_SUITE_END |