As Daniel Kahn Gillmor <[email protected]> reports in
id:[email protected], notmuch show combines
multiple Cc: fields into one, while notmuch reply does not. While such
messages are in violation of RFC 5322, it would be reasonable to
expect notmuch to be consistent. Add a known broken test to document
this expectation.
This also starts a new "broken" corpus for messages which are broken.
Details:
The original message is formatted using the message printing in
notmuch-show.c. For Cc:, it uses g_mime_message_get_recipients(),
which apparently combines all Cc: fields into one internally.
The addresses in the reply headers, OTOH, are based on headers queried
through libnotmuch. It boils down to g_mime_object_get_header() in
lib/message-file.c, which returns only the first occurence of header.
---
test/T220-reply.sh | 13 +++++++++++++
test/corpora/README | 11 +++++++++++
test/corpora/broken/broken-cc | 9 +++++++++
3 files changed, 33 insertions(+)
create mode 100644 test/corpora/README
create mode 100644 test/corpora/broken/broken-cc
diff --git a/test/T220-reply.sh b/test/T220-reply.sh
index 30b78f679d97..a72068ddde95 100755
--- a/test/T220-reply.sh
+++ b/test/T220-reply.sh
@@ -253,5 +253,18 @@ test_expect_equal_json "$output" '
}
}'
+test_begin_subtest "Reply to a message with multiple Cc headers"
+test_subtest_known_broken
+add_email_corpus broken
+output=$(notmuch reply id:[email protected])
+test_expect_equal "$output" "From: Notmuch Test Suite
<[email protected]>
+Subject: Re: wowsers!
+To: Alice <[email protected]>, Daniel <[email protected]>
+Cc: Bob <[email protected]>, Charles <[email protected]>
+In-Reply-To: <[email protected]>
+References: <[email protected]>
+
+On Thu, 16 Jun 2016 22:14:41 -0400, Alice <[email protected]> wrote:
+> Note the Cc: and cc: headers."
test_done
diff --git a/test/corpora/README b/test/corpora/README
new file mode 100644
index 000000000000..77c48e6e7138
--- /dev/null
+++ b/test/corpora/README
@@ -0,0 +1,11 @@
+This directory contains email corpora for testing.
+
+default
+ The default corpus is based on about 50 messages from early in the
+ history of the notmuch mailing list, which allows for reliably
+ testing commands that need to operate on a not-totally-trivial
+ number of messages.
+
+broken
+ The broken corpus contains messages that are broken and/or RFC
+ non-compliant, ensuring we deal with them in a sane way.
diff --git a/test/corpora/broken/broken-cc b/test/corpora/broken/broken-cc
new file mode 100644
index 000000000000..57ae9ba9742c
--- /dev/null
+++ b/test/corpora/broken/broken-cc
@@ -0,0 +1,9 @@
+From: Alice <[email protected]>
+To: Daniel <[email protected]>
+Cc: Bob <[email protected]>
+Subject: wowsers!
+cc: Charles <[email protected]>
+Message-Id: <[email protected]>
+Date: Thu, 16 Jun 2016 22:14:41 -0400
+
+Note the Cc: and cc: headers.
--
2.1.4
_______________________________________________
notmuch mailing list
[email protected]
https://notmuchmail.org/mailman/listinfo/notmuch