[PATCH] test: Canonicalize RFC 2047 encoding and charset
Tomi Ollila
tomi.ollila at iki.fi
Sun Aug 18 11:05:45 PDT 2013
On Sun, Aug 18 2013, Austin Clements <amdragon at MIT.EDU> wrote:
> RFC 2047 states that the encoding and charset in an encoded word are
> case-insensitive, so force them to lower case in the reply test. This
> fixes an issue caused by GMime versions (somewhere between 2.6.10 and
> 2.6.16), which changed the capitalization of the encoding.
> ---
> test/reply | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/test/reply b/test/reply
> index d4389cf..a078927 100755
> --- a/test/reply
> +++ b/test/reply
> @@ -201,12 +201,14 @@ add_message '[subject]="=?iso-8859-1?q?=e0=df=e7?="' \
> '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \
> '[body]="Encoding"'
>
> -output=$(notmuch reply id:${gen_msg_id})
> -# Note that GMime changes from Q- to B-encoding
> +# GMime happens to change from Q- to B-encoding. We canonicalize the
> +# case of the encoding and charset because different versions of GMime
> +# capitalize the encoding differently.
> +output=$(notmuch reply id:${gen_msg_id} | sed 's/=?[^?]*?[bB]?/\L&/g')
The sed expression looks fancy enough to be GNU sed extension (\L& doing
tolower to the matching part?). A more portable alternative could be:
output=$(notmuch reply id:${gen_msg_id} | sed -e 's/?UTF-8?/?utf-8?/g' \
-e 's/?ISO-88591-1?/?iso-88591-1?/g' -e 's/?B?/?b?/g')
or alternatively (some bashism):
output=$(notmuch reply id:${gen_msg_id})
output=${output//\?UTF-8\?/?utf-8?}
output=${output//\?ISO-8859-1\?/?iso-8859-1?}
output=${output//\?B\?/?b?}
Tomi
> test_expect_equal "$output" "\
> From: Notmuch Test Suite <test_suite at notmuchmail.org>
> Subject: Re: =?iso-8859-1?b?4N/n?=
> -To: =?UTF-8?b?4piD?= <snowman at example.com>
> +To: =?utf-8?b?4piD?= <snowman at example.com>
> In-Reply-To: <${gen_msg_id}>
> References: <${gen_msg_id}>
>
> --
> 1.7.10.4
>
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch
More information about the notmuch
mailing list