On Thu, Sep 06 2012, Michal Nazarewicz wrote: > From: Michal Nazarewicz <mina86@mina86.com> > > --- > notmuch-show.c | 7 +++++++ > test/json | 8 ++++---- > test/test-lib.sh | 5 +++++ > 3 files changed, 16 insertions(+), 4 deletions(-) > > diff --git a/notmuch-show.c b/notmuch-show.c > index 3556293..0b7abf1 100644 > --- a/notmuch-show.c > +++ b/notmuch-show.c > @@ -233,6 +233,13 @@ format_headers_json (sprinter_t *sp, GMimeMessage *message, > sp->string (sp, recipients_string); > } > > + recipients = g_mime_message_get_recipients (message, GMIME_RECIPIENT_TYPE_BCC); > + recipients_string = internet_address_list_to_string (recipients, 0); > + if (recipients_string) { > + sp->map_key (sp, "Bcc"); > + sp->string (sp, recipients_string); > + } > + > if (reply) { > sp->map_key (sp, "In-reply-to"); > sp->string (sp, g_mime_object_get_header (GMIME_OBJECT (message), "In-reply-to")); > diff --git a/test/json b/test/json > index ac8fa8e..40d0ba3 100755 > --- a/test/json > +++ b/test/json > @@ -3,18 +3,18 @@ test_description="--format=json output" > . ./test-lib.sh > > test_begin_subtest "Show message: json" > -add_message "[subject]=\"json-show-subject\"" "[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" "[body]=\"json-show-message\"" > +add_message "[subject]=\"json-show-subject\"" "[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" "[bcc]=\"test_suite+bcc@notmuchmail.org\"" "[body]=\"json-show-message\"" > output=$(notmuch show --format=json "json-show-message") > -test_expect_equal_json "$output" "[[[{\"id\": \"${gen_msg_id}\", \"match\": true, \"excluded\": false, \"filename\": \"${gen_msg_filename}\", \"timestamp\": 946728000, \"date_relative\": \"2000-01-01\", \"tags\": [\"inbox\",\"unread\"], \"headers\": {\"Subject\": \"json-show-subject\", \"From\": \"Notmuch Test Suite <test_suite@notmuchmail.org>\", \"To\": \"Notmuch Test Suite <test_suite@notmuchmail.org>\", \"Date\": \"Sat, 01 Jan 2000 12:00:00 +0000\"}, \"body\": [{\"id\": 1, \"content-type\": \"text/plain\", \"content\": \"json-show-message\n\"}]}, []]]]" > +test_expect_equal_json "$output" "[[[{\"id\": \"${gen_msg_id}\", \"match\": true, \"excluded\": false, \"filename\": \"${gen_msg_filename}\", \"timestamp\": 946728000, \"date_relative\": \"2000-01-01\", \"tags\": [\"inbox\",\"unread\"], \"headers\": {\"Subject\": \"json-show-subject\", \"From\": \"Notmuch Test Suite <test_suite@notmuchmail.org>\", \"To\": \"Notmuch Test Suite <test_suite@notmuchmail.org>\", \"Bcc\": \"test_suite+bcc@notmuchmail.org\", \"Date\": \"Sat, 01 Jan 2000 12:00:00 +0000\"}, \"body\": [{\"id\": 1, \"content-type\": \"text/plain\", \"content\": \"json-show-message\n\"}]}, []]]]" > > # This should be the same output as above. > test_begin_subtest "Show message: json --body=true" > output=$(notmuch show --format=json --body=true "json-show-message") > -test_expect_equal_json "$output" "[[[{\"id\": \"${gen_msg_id}\", \"match\": true, \"excluded\": false, \"filename\": \"${gen_msg_filename}\", \"timestamp\": 946728000, \"date_relative\": \"2000-01-01\", \"tags\": [\"inbox\",\"unread\"], \"headers\": {\"Subject\": \"json-show-subject\", \"From\": \"Notmuch Test Suite <test_suite@notmuchmail.org>\", \"To\": \"Notmuch Test Suite <test_suite@notmuchmail.org>\", \"Date\": \"Sat, 01 Jan 2000 12:00:00 +0000\"}, \"body\": [{\"id\": 1, \"content-type\": \"text/plain\", \"content\": \"json-show-message\n\"}]}, []]]]" > +test_expect_equal_json "$output" "[[[{\"id\": \"${gen_msg_id}\", \"match\": true, \"excluded\": false, \"filename\": \"${gen_msg_filename}\", \"timestamp\": 946728000, \"date_relative\": \"2000-01-01\", \"tags\": [\"inbox\",\"unread\"], \"headers\": {\"Subject\": \"json-show-subject\", \"From\": \"Notmuch Test Suite <test_suite@notmuchmail.org>\", \"To\": \"Notmuch Test Suite <test_suite@notmuchmail.org>\", \"Bcc\": \"test_suite+bcc@notmuchmail.org\",\"Date\": \"Sat, 01 Jan 2000 12:00:00 +0000\"}, \"body\": [{\"id\": 1, \"content-type\": \"text/plain\", \"content\": \"json-show-message\n\"}]}, []]]]" > > test_begin_subtest "Show message: json --body=false" > output=$(notmuch show --format=json --body=false "json-show-message") > -test_expect_equal_json "$output" "[[[{\"id\": \"${gen_msg_id}\", \"match\": true, \"excluded\": false, \"filename\": \"${gen_msg_filename}\", \"timestamp\": 946728000, \"date_relative\": \"2000-01-01\", \"tags\": [\"inbox\",\"unread\"], \"headers\": {\"Subject\": \"json-show-subject\", \"From\": \"Notmuch Test Suite <test_suite@notmuchmail.org>\", \"To\": \"Notmuch Test Suite <test_suite@notmuchmail.org>\", \"Date\": \"Sat, 01 Jan 2000 12:00:00 +0000\"}}, []]]]" > +test_expect_equal_json "$output" "[[[{\"id\": \"${gen_msg_id}\", \"match\": true, \"excluded\": false, \"filename\": \"${gen_msg_filename}\", \"timestamp\": 946728000, \"date_relative\": \"2000-01-01\", \"tags\": [\"inbox\",\"unread\"], \"headers\": {\"Subject\": \"json-show-subject\", \"From\": \"Notmuch Test Suite <test_suite@notmuchmail.org>\", \"To\": \"Notmuch Test Suite <test_suite@notmuchmail.org>\", \"Bcc\": \"test_suite+bcc@notmuchmail.org\",\"Date\": \"Sat, 01 Jan 2000 12:00:00 +0000\"}}, []]]]" > > test_begin_subtest "Search message: json" > add_message "[subject]=\"json-search-subject\"" "[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" "[body]=\"json-search-message\"" > diff --git a/test/test-lib.sh b/test/test-lib.sh > index f34b1fb..e14203d 100644 > --- a/test/test-lib.sh > +++ b/test/test-lib.sh > @@ -350,6 +350,11 @@ ${additional_headers}" > ${additional_headers}" > fi > > + if [ ! -z "${template[bcc]}" ]; then > + additional_headers="Bcc: ${template[bcc]} > +${additional_headers}" > + fi > + > if [ ! -z "${template[references]}" ]; then > additional_headers="References: ${template[references]} > ${additional_headers}" > -- > 1.7.7.3 LGTM It's good that you left there a few tests without bcc header so that we have covered both cases. -Michal