From 27130c3a2fb4ecf3ef8bd1d12517fda98b512069 Mon Sep 17 00:00:00 2001 From: Tomi Ollila Date: Sat, 24 Aug 2013 18:29:30 +0300 Subject: [PATCH] [PATCH 1/1] test: test notmuch show --include-html option --- cb/8557bf570aebedd240951c2778ca59f6b4922f | 148 ++++++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 cb/8557bf570aebedd240951c2778ca59f6b4922f diff --git a/cb/8557bf570aebedd240951c2778ca59f6b4922f b/cb/8557bf570aebedd240951c2778ca59f6b4922f new file mode 100644 index 000000000..c40995827 --- /dev/null +++ b/cb/8557bf570aebedd240951c2778ca59f6b4922f @@ -0,0 +1,148 @@ +Return-Path: +X-Original-To: notmuch@notmuchmail.org +Delivered-To: notmuch@notmuchmail.org +Received: from localhost (localhost [127.0.0.1]) + by olra.theworths.org (Postfix) with ESMTP id 3B784431E62 + for ; Sat, 24 Aug 2013 08:29:46 -0700 (PDT) +X-Virus-Scanned: Debian amavisd-new at olra.theworths.org +X-Spam-Flag: NO +X-Spam-Score: 0 +X-Spam-Level: +X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none] + autolearn=disabled +Received: from olra.theworths.org ([127.0.0.1]) + by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id VHFk471qFlIN for ; + Sat, 24 Aug 2013 08:29:41 -0700 (PDT) +Received: from guru.guru-group.fi (guru.guru-group.fi [46.183.73.34]) + by olra.theworths.org (Postfix) with ESMTP id A2BF1431FBD + for ; Sat, 24 Aug 2013 08:29:41 -0700 (PDT) +Received: by guru.guru-group.fi (Postfix, from userid 501) + id 70D1410009D; Sat, 24 Aug 2013 18:29:32 +0300 (EEST) +From: Tomi Ollila +To: notmuch@notmuchmail.org +Subject: [PATCH 1/1] test: test notmuch show --include-html option +Date: Sat, 24 Aug 2013 18:29:30 +0300 +Message-Id: <1377358170-20561-1-git-send-email-tomi.ollila@iki.fi> +X-Mailer: git-send-email 1.8.0 +In-Reply-To: +References: +Cc: tomi.ollila@iki.fi +X-BeenThere: notmuch@notmuchmail.org +X-Mailman-Version: 2.1.13 +Precedence: list +List-Id: "Use and development of the notmuch mail system." + +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +X-List-Received-Date: Sat, 24 Aug 2013 15:29:46 -0000 + +Test new --include-html option added to notmuch show command with +json output message parts containing text in latin1 and utf8 format. +--- + +this is test for id:notmuch-web-1372724382.450184839@www.wuzzeb.org asked +by Mark in id:87txifzexo.fsf@qmul.ac.uk + + test/multipart | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 81 insertions(+), 1 deletion(-) + +diff --git a/test/multipart b/test/multipart +index 2033023..b40fa2c 100755 +--- a/test/multipart ++++ b/test/multipart +@@ -647,4 +647,84 @@ notmuch show --format=raw --part=3 id:base64-part-with-crlf > crlf.out + echo -n -e "\xEF\x0D\x0A" > crlf.expected + test_expect_equal_file crlf.out crlf.expected + +-test_done +\ No newline at end of file ++ ++# The ISO-8859-1 encoding of U+00BD is a single byte: octal 275 ++# (Portability note: Dollar-Single ($'...', ANSI C-style escape sequences) ++# quoting works on bash, ksh, zsh, *BSD sh but not on dash, ash nor busybox sh) ++readonly u_00bd_latin1=$'\275' ++ ++# The Unicode fraction symbol 1/2 is U+00BD and is encoded ++# in UTF-8 as two bytes: octal 302 275 ++readonly u_00bd_utf8=$'\302\275' ++ ++cat < ${MAIL_DIR}/include-html ++From: A ++To: B ++Subject: html message ++Date: Sat, 01 January 2000 00:00:00 +0000 ++Message-ID: ++MIME-Version: 1.0 ++Content-Type: multipart/alternative; boundary="==-==" ++ ++--==-== ++Content-Type: text/html; charset=UTF-8 ++ ++

0.5 equals ${u_00bd_utf8}

++ ++--==-== ++Content-Type: text/html; charset=ISO-8859-1 ++ ++

0.5 equals ${u_00bd_latin1}

++ ++--==-== ++Content-Type: text/plain; charset=UTF-8 ++ ++0.5 equals ${u_00bd_utf8} ++ ++--==-==-- ++EOF ++ ++notmuch new > /dev/null ++ ++cat_expected_head () ++{ ++ cat <", ++ "Subject": "html message", "To": "B "}, ++ "body": [{ ++ "content-type": "multipart/alternative", "id": 1, ++EOF ++} ++ ++cat_expected_head > EXPECTED.nohtml ++cat <> EXPECTED.nohtml ++"content": [ ++ { "id": 2, "content-charset": "UTF-8", "content-length": 21, "content-type": "text/html"}, ++ { "id": 3, "content-charset": "ISO-8859-1", "content-length": 20, "content-type": "text/html"}, ++ { "id": 4, "content-type": "text/plain", "content": "0.5 equals \\u00bd\\n"} ++]}]},[]]]] ++EOF ++ ++# Both the UTF-8 and ISO-8859-1 part should have U+00BD ++cat_expected_head > EXPECTED.withhtml ++cat <> EXPECTED.withhtml ++"content": [ ++ { "id": 2, "content-type": "text/html", "content": "

0.5 equals \\u00bd

\\n"}, ++ { "id": 3, "content-type": "text/html", "content": "

0.5 equals \\u00bd

\\n"}, ++ { "id": 4, "content-type": "text/plain", "content": "0.5 equals \\u00bd\\n"} ++]}]},[]]]] ++EOF ++ ++test_begin_subtest "html parts excluded by default" ++notmuch show --format=json id:htmlmessage > OUTPUT ++test_expect_equal_json "$(cat OUTPUT)" "$(cat EXPECTED.nohtml)" ++ ++test_begin_subtest "html parts included" ++notmuch show --format=json --include-html id:htmlmessage > OUTPUT ++test_expect_equal_json "$(cat OUTPUT)" "$(cat EXPECTED.withhtml)" ++ ++test_done +-- +1.8.0 + -- 2.26.2