X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=test%2Femacs;h=4e941bbd43c3becae5d3febf84d83dea9ed19866;hb=f9878f917352d8f49c44496b6a0a4ce38ef901d4;hp=44f641ebf25192e6b3fdc1b2c23c8e0e9d36bce2;hpb=1a4cb8fd29c52445fc3de70e92de377f00cdc4a7;p=notmuch
diff --git a/test/emacs b/test/emacs
index 44f641eb..4e941bbd 100755
--- a/test/emacs
+++ b/test/emacs
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
test_description="emacs interface"
-. test-lib.sh
+. ./test-lib.sh
EXPECTED=$TEST_DIRECTORY/emacs.expected-output
@@ -516,6 +516,32 @@ test_emacs '(let ((standard-input "\"attachment2.gz\""))
(notmuch-show-save-part "id:cf0c4d610911171136h1713aa59w9cf9aa31f052ad0a@mail.gmail.com" 5))'
test_expect_equal_file attachment2.gz "$EXPECTED/attachment"
+test_begin_subtest "Save 8bit attachment from within emacs using notmuch-show-save-attachments"
+
+add_message '[subject]="Attachment with 8bit chars"' \
+ '[header]="MIME-Version: 1.0"' \
+ '[content-type]="multipart/mixed; boundary=\"abcd\""' \
+ '[body]="--abcd
+Content-Type: text/plain
+
+Attachment follows:
+
+--abcd
+Content-Type: application/octet-stream; name=\"sample\"
+Content-Transfer-Encoding: 8bit
+Content-Disposition: attachment; filename=\"sample\"
+
+â¡ Hey ! It compiles ¡ Ship it !â
+
+--abcd--
+"'
+test_emacs '(notmuch-show "id:'"${gen_msg_id}"'")
+ (delete-file "OUTPUT")
+ (let ((standard-input "\"OUTPUT\""))
+ (notmuch-show-save-attachments))'
+
+test_expect_equal "$(cat OUTPUT)" 'â¡ Hey ! It compiles ¡ Ship it !â'
+
test_begin_subtest "View raw message within emacs"
test_emacs '(notmuch-show "id:cf0c4d610911171136h1713aa59w9cf9aa31f052ad0a@mail.gmail.com")
(notmuch-show-view-raw-message)
@@ -788,13 +814,12 @@ counter=$(test_emacs \
test_expect_equal "$counter" 2
-test_begin_subtest "Rendering HTML mail with images"
add_message '[subject]="HTML mail with images"' \
'[content-type]="multipart/related; boundary=abcd"' \
'[body]="--abcd
Content-Type: text/html
-
+ smiley
--abcd
Content-Type: image/gif
@@ -804,21 +829,16 @@ Content-ID: <330@goomoji.gmail>
R0lGODlhDAAMAKIFAF5LAP/zxAAAANyuAP/gaP///wAAAAAAACH5BAEAAAUALAAAAAAMAAwAAAMl
WLPcGjDKFYi9lxKBOaGcF35DhWHamZUW0K4mAbiwWtuf0uxFAgA7
--abcd--"'
-test_emacs "(notmuch-show \"id:${gen_msg_id}\")
- (test-output)"
-# Normalize output for Emacs 23 and Emacs 24
-sed -i 's/\[cid\]/*/' OUTPUT
-cat <EXPECTED
-Notmuch Test Suite (2001-01-05) (inbox)
-Subject: HTML mail with images
-To: Notmuch Test Suite
-Date: Fri, 05 Jan 2001 15:43:57 +0000
-
-[ multipart/related ]
-[ text/html ]
-*
-EOF
-test_expect_equal_file OUTPUT EXPECTED
+test_emacs "(let ((mm-text-html-renderer
+ (if (assq 'shr mm-text-html-renderer-alist)
+ 'shr 'html2text)))
+ (notmuch-show \"id:${gen_msg_id}\"))
+ (test-output)" > /dev/null
+# Different Emacs versions and renderers give very different results,
+# so just check that something reasonable showed up. We first cat the
+# output so the test framework will print it if the test fails.
+test_expect_success "Rendering HTML mail with images" \
+ 'cat OUTPUT && grep -q smiley OUTPUT'
test_done