test: add known broken test for reply to message with multiple Cc headers

As Daniel Kahn Gillmor <dkg@fifthhorseman.net> reports in
id:87d1ngv95p.fsf@alice.fifthhorseman.net, 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.
This commit is contained in:
Jani Nikula 2016-09-13 20:14:09 +03:00 committed by David Bremner
parent 971cdc72cd
commit 36416c74e0
3 changed files with 33 additions and 0 deletions

View file

@ -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:multiple-cc@example.org)
test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org>
Subject: Re: wowsers!
To: Alice <alice@example.org>, Daniel <daniel@example.org>
Cc: Bob <bob@example.org>, Charles <charles@example.org>
In-Reply-To: <multiple-cc@example.org>
References: <multiple-cc@example.org>
On Thu, 16 Jun 2016 22:14:41 -0400, Alice <alice@example.org> wrote:
> Note the Cc: and cc: headers."
test_done test_done

11
test/corpora/README Normal file
View file

@ -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.

View file

@ -0,0 +1,9 @@
From: Alice <alice@example.org>
To: Daniel <daniel@example.org>
Cc: Bob <bob@example.org>
Subject: wowsers!
cc: Charles <charles@example.org>
Message-Id: <multiple-cc@example.org>
Date: Thu, 16 Jun 2016 22:14:41 -0400
Note the Cc: and cc: headers.