diff options
author | Vincent Richard <[email protected]> | 2021-05-16 16:43:14 +0000 |
---|---|---|
committer | GitHub <[email protected]> | 2021-05-16 16:43:14 +0000 |
commit | edcb4b4b1f1feb5d823d2eaba6aa6dda462d0b00 (patch) | |
tree | 502687efd998471775e27b78d41aee4f979289ee /tests/parser/charsetTest.cpp | |
parent | #261 Workaround for bad SEARCH response with AOL IMAP server (diff) | |
parent | fixed coding style (diff) | |
download | vmime-edcb4b4b1f1feb5d823d2eaba6aa6dda462d0b00.tar.gz vmime-edcb4b4b1f1feb5d823d2eaba6aa6dda462d0b00.zip |
Merge pull request #262 from ibanic/master
Prevent accessing empty buffer when using FilteredOutputStream with ICU
Diffstat (limited to 'tests/parser/charsetTest.cpp')
-rw-r--r-- | tests/parser/charsetTest.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/parser/charsetTest.cpp b/tests/parser/charsetTest.cpp index e44bef5b..01b04e11 100644 --- a/tests/parser/charsetTest.cpp +++ b/tests/parser/charsetTest.cpp @@ -34,6 +34,7 @@ VMIME_TEST_SUITE_BEGIN(charsetTest) // Test valid input VMIME_TEST(testConvertStringValid) VMIME_TEST(testConvertStreamValid) + VMIME_TEST(testConvertStreamExtract) VMIME_TEST(testEncodingHebrew1255) // IDNA @@ -104,6 +105,32 @@ VMIME_TEST_SUITE_BEGIN(charsetTest) } } + void testConvertStreamExtract() { + vmime::bodyPart p; + p.getBody()->setContents( + vmime::make_shared <vmime::stringContentHandler>( + "Foo éé\r\né bar\r\nbaz" + ), + vmime::mediaType("text", "plain"), + vmime::charset("utf-8"), + vmime::encoding("quoted-printable") + ); + + vmime::string str; + vmime::utility::outputStreamStringAdapter outStr(str); + vmime::shared_ptr <vmime::charsetConverter> conv = vmime::charsetConverter::create(p.getBody()->getCharset(), vmime::charset("US-ASCII")); + auto filteredStream = conv->getFilteredOutputStream(outStr); + p.getBody()->getContents()->extract(*filteredStream); + filteredStream->flush(); + VASSERT_EQ( + "generate", + "Foo ??\r\n" + "? bar\r\n" + "baz", + str + ); + } + void testEncodingHebrew1255() { // hewbrew string in windows-1255 charset |