g_mime_stream_filter_add(GMIME_STREAM_FILTER(stream_filter),
g_mime_filter_crlf_new(FALSE, FALSE));
if (charset) {
- g_mime_stream_filter_add(GMIME_STREAM_FILTER(stream_filter),
- g_mime_filter_charset_new(charset, "UTF-8"));
- }
+ GMimeFilter *charset_filter;
+ charset_filter = g_mime_filter_charset_new(charset, "UTF-8");
+ /* This result can be NULL for things like "unknown-8bit".
+ * Don't set a NULL filter as that makes GMime print
+ * annoying assertion-failure messages on stderr. */
+ if (charset_filter)
+ g_mime_stream_filter_add(GMIME_STREAM_FILTER(stream_filter),
+ charset_filter);
+ }
}
wrapper = g_mime_part_get_content_object (GMIME_PART (part));
# [reply-to]=some-address
# [in-reply-to]=<message-id>
# [references]=<message-id>
+# [content-type]=content-type-specification
# '[header]=full header line, including keyword'
#
# Additional values for email headers. If these are not provided
${additional_headers}"
fi
+ if [ ! -z "${template[content-type]}" ]; then
+ additional_headers="Content-Type: ${template[content-type]}
+${additional_headers}"
+ fi
+
cat <<EOF >$gen_msg_filename
From: ${template[from]}
output=$($NOTMUCH search 'subject:"a ridiculously-long message ID"' | notmuch_search_sanitize)
pass_if_equal "$output" "thread:XXX 2001-01-05 [1/3] Notmuch Test Suite; A ridiculously-long message ID (inbox unread)"
+printf "\nTesting encoding issues...\n"
+printf " Message with text of unknown charset...\t"
+add_message '[content-type]="text/plain; charset=unknown-8bit"' \
+ '[body]=irrelevant'
+
+output=$($NOTMUCH show id:${gen_msg_id} 2>&1 | notmuch_show_sanitize)
+pass_if_equal "$output" "\fmessage{ id:msg-074@notmuch-test-suite depth:0 match:1 filename:/XXX/mail/msg-074
+\fheader{
+Notmuch Test Suite <test_suite@notmuchmail.org> (2001-01-05) (inbox unread)
+Subject: Test message #74
+From: Notmuch Test Suite <test_suite@notmuchmail.org>
+To: Notmuch Test Suite <test_suite@notmuchmail.org>
+Date: Tue, 05 Jan 2001 15:43:57 -0800
+\fheader}
+\fbody{
+\fpart{ ID: 1, Content-type: text/plain
+irrelevant
+\fpart}
+\fbody}
+\fmessage}"
+
echo ""
echo "Notmuch test suite complete."