From e7739c0efe80da9804464e0edfa8d7fe76d70148 Mon Sep 17 00:00:00 2001 From: Vincent Richard Date: Wed, 14 Jan 2015 19:35:28 +0100 Subject: Fixed issue #98: support for wrongly padded B64 words. --- tests/parser/textTest.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'tests/parser/textTest.cpp') diff --git a/tests/parser/textTest.cpp b/tests/parser/textTest.cpp index 58d5bff5..588dc194 100644 --- a/tests/parser/textTest.cpp +++ b/tests/parser/textTest.cpp @@ -59,6 +59,8 @@ VMIME_TEST_SUITE_BEGIN(textTest) VMIME_TEST(testInternationalizedEmail_UTF8) VMIME_TEST(testInternationalizedEmail_nonUTF8) VMIME_TEST(testInternationalizedEmail_folding) + + VMIME_TEST(testWronglyPaddedB64Words) VMIME_TEST_LIST_END @@ -595,5 +597,25 @@ VMIME_TEST_SUITE_BEGIN(textTest) " encoded text", w2.generate(20)); } + void testWronglyPaddedB64Words() + { + vmime::text outText; + + vmime::text::decodeAndUnfold("=?utf-8?B?5Lit5?=\n =?utf-8?B?paH?=", &outText); + + VASSERT_EQ("1", "\xe4\xb8\xad\xe6\x96\x87", + outText.getConvertedText(vmime::charset("utf-8"))); + + vmime::text::decodeAndUnfold("=?utf-8?B?5Lit5p?=\n =?utf-8?B?aH?=", &outText); + + VASSERT_EQ("2", "\xe4\xb8\xad\xe6\x96\x87", + outText.getConvertedText(vmime::charset("utf-8"))); + + vmime::text::decodeAndUnfold("=?utf-8?B?5Lit5pa?=\n =?utf-8?B?H?=", &outText); + + VASSERT_EQ("3", "\xe4\xb8\xad\xe6\x96\x87", + outText.getConvertedText(vmime::charset("utf-8"))); + } + VMIME_TEST_SUITE_END -- cgit v1.2.3