From 52d787109639345e8320b6b52dc19e3951a547a5 Mon Sep 17 00:00:00 2001 From: Aki Tuomi Date: Thu, 28 Jan 2021 17:04:37 +0200 Subject: [PATCH] lib-mail: test-message-snippet - Add unit tests for multipart messages --- src/lib-mail/test-message-snippet.c | 127 ++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) diff --git a/src/lib-mail/test-message-snippet.c b/src/lib-mail/test-message-snippet.c index 69aab76902..bf1a0b3fa8 100644 --- a/src/lib-mail/test-message-snippet.c +++ b/src/lib-mail/test-message-snippet.c @@ -152,6 +152,133 @@ static const struct { 100, "" }, + { "MIME-Version: 1.0\n" + "Content-Type: multipart/mixed; boundary=a\n" + "\n--a\n" + "Content-Transfer-Encoding: 7bit\n" + "Content-Type: text/html; charset=utf-8\n\n" + "

part one

\n" + "\n--a\n" + "Content-Transfer-Encoding: 7bit\n" + "Content-Type: text/html; charset=utf-8\n\n" + "

part two

\n" + "\n--a--\n", + 100, + "part one" + }, + { "MIME-Version: 1.0\n" + "Content-Type: multipart/alternative; boundary=a\n" + "\n--a\n" + "Content-Transfer-Encoding: 7bit\n" + "Content-Type: text/html; charset=utf-8\n\n" + "

part one

\n" + "\n--a\n" + "Content-Transfer-Encoding: 7bit\n" + "Content-Type: text/plain; charset=utf-8\n\n" + "part two\n" + "\n--a--\n", + 100, + "part one" + }, + { "MIME-Version: 1.0\n" + "Content-Type: multipart/mixed; boundary=a\n" + "\n--a\n" + "Content-Transfer-Encoding: 7bit\n" + "Content-Type: text/html; charset=utf-8\n\n" + "

\n" + "\n--a\n" + "Content-Transfer-Encoding: 7bit\n" + "Content-Type: text/html; charset=utf-8\n\n" + "

part two

\n" + "\n--a--\n", + 100, + "part two" + }, + { "MIME-Version: 1.0\n" + "Content-Type: multipart/alternative; boundary=a\n" + "\n--a\n" + "Content-Transfer-Encoding: 7bit\n" + "Content-Type: text/plain; charset=utf-8\n\n" + "> original text\n" + "\n--a\n" + "Content-Transfer-Encoding: 7bit\n" + "Content-Type: text/plain; charset=utf-8\n\n" + "part two\n" + "\n--a--\n", + 100, + ">original text" + }, + { "MIME-Version: 1.0\n" + "Content-Type: multipart/alternative; boundary=a\n" + "\n--a\n" + "Content-Transfer-Encoding: 7bit\n" + "Content-Type: text/plain; charset=utf-8\n\n" + "top poster\n" + "\n--a\n" + "Content-Transfer-Encoding: 7bit\n" + "Content-Type: text/plain; charset=utf-8\n\n" + "> original text\n" + "\n--a--\n", + 100, + "top poster" + }, + { "MIME-Version: 1.0\n" + "Content-Type: multipart/mixed; boundary=a\n" + "\n--a\n" + "Content-Transfer-Encoding: 7bit\n" + "Content-Type: text/html; charset=utf-8\n\n" + "

\n" + "\n--a\n" + "Content-Transfer-Encoding: 7bit\n" + "Content-Type: text/html; charset=utf-8\n\n" + "
\n" + "\n" + "\n--a--\n", + 100, + "" + }, + { "MIME-Version: 1.0\n" + "Content-Type: multipart/mixed; boundary=a\n" + "\n--a\n" + "Content-Transfer-Encoding: 7bit\n" + "Content-Type: text/html; charset=utf-8\n\n" + "\n--a\n" + "Content-Transfer-Encoding: 7bit\n" + "Content-Type: text/html; charset=utf-8\n\n" + "\n" + "\n--a--\n", + 100, + "" + }, + { "MIME-Version: 1.0\n" + "Content-Type: multipart/mixed; boundary=a\n" + "\n--a\n" + "Content-Transfer-Encoding: base64\n" + "Content-Type: application/octet-stream\n\n" + "U2hvdWxkIG5vdCBiZSBpbiBzbmlwcGV0\n" + "\n--a\n" + "Content-Transfer-Encoding: 7bit\n" + "Content-Type: text/html; charset=utf-8\n\n" + "

Should be in snippet

\n" + "\n--a--\n", + 100, + "Should be in snippet" + }, + { "MIME-Version: 1.0\n" + "Content-Type: multipart/mixed; boundary=a\n" + "\n--a\n" + "Content-Transfer-Encoding: base64\n" + "Content-Type: application/octet-stream\n\n" + "U2hvdWxkIG5vdCBiZSBpbiBzbmlwcGV0\n" + "\n--a\n" + "Content-Transfer-Encoding: base64\n" + "Content-Type: TeXT/html; charset=utf-8\n\n" + "PGh0bWw+PGhlYWQ+PC9oZWFkPjxib2R5PjxwPlNob3VsZCBiZSBpbiBzbmlwcGV0PC9wPjwvYm9k\n" + "eT48L2h0bWw+\n" + "\n--a--\n", + 100, + "Should be in snippet" + }, }; static void test_message_snippet(void) -- 2.47.3