test: Canonicalize RFC 2047 encoding and charset
authorAustin Clements <amdragon@MIT.EDU>
Mon, 19 Aug 2013 14:40:03 +0000 (10:40 -0400)
committerDavid Bremner <bremner@debian.org>
Tue, 20 Aug 2013 07:14:25 +0000 (09:14 +0200)
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

index d4389cf54f9fc63c6536db4372e77f5d8a9874c4..b0d854a1fc000a3a3b85089eb7c4ea5d6ab538cf 100755 (executable)
@@ -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} | perl -pe 's/=\?[^?]+\?[bB]\?/lc($&)/ge')
 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}>