Re: [PATCH] test: Canonicalize RFC 2047 encoding and charset

Subject: Re: [PATCH] test: Canonicalize RFC 2047 encoding and charset

Date: Sun, 18 Aug 2013 21:05:45 +0300

To: Austin Clements, notmuch@notmuchmail.org

Cc:

From: Tomi Ollila


On Sun, Aug 18 2013, Austin Clements <amdragon@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@notmuchmail.org>
>  Subject: Re: =?iso-8859-1?b?4N/n?=
> -To: =?UTF-8?b?4piD?= <snowman@example.com>
> +To: =?utf-8?b?4piD?= <snowman@example.com>
>  In-Reply-To: <${gen_msg_id}>
>  References: <${gen_msg_id}>
>  
> -- 
> 1.7.10.4
>
> _______________________________________________
> notmuch mailing list
> notmuch@notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch

Thread: