X-Git-Url: https://git.cworth.org/git?p=notmuch;a=blobdiff_plain;f=test%2FT450-emacs-show.sh;h=0c1f620497df724c2ee41ddfd547505af6e45406;hp=3555a9390d703b2b8aaca6a519f653afd8414e4a;hb=2707c06a0fc587a68096a3ec6f054ba4f0d7e7c7;hpb=f7130468d27c4f37d45e6aa60baacfc3329ccff4 diff --git a/test/T450-emacs-show.sh b/test/T450-emacs-show.sh index 3555a939..0c1f6204 100755 --- a/test/T450-emacs-show.sh +++ b/test/T450-emacs-show.sh @@ -2,9 +2,11 @@ test_description="emacs notmuch-show view" . $(dirname "$0")/test-lib.sh || exit 1 +. $NOTMUCH_SRCDIR/test/test-lib-emacs.sh || exit 1 EXPECTED=$NOTMUCH_SRCDIR/test/emacs-show.expected-output +test_require_emacs add_email_corpus test_begin_subtest "Hiding Original Message region at beginning of a message" @@ -60,6 +62,17 @@ test_emacs '(let ((notmuch-crypto-process-mime nil)) (test-visible-output))' test_expect_equal_file $EXPECTED/notmuch-show-process-crypto-mime-parts-on OUTPUT +test_begin_subtest "notmuch-search-show-thread returns non-nil on success" +test_emacs_expect_t '(notmuch-search "id:20091117203301.GV3165@dottiness.seas.harvard.edu") + (notmuch-test-wait) + (and (notmuch-search-show-thread) + (not (notmuch-show-next-thread)))' + +test_begin_subtest "notmuch-search-show-thread returns nil when there are no messages" +test_emacs_expect_t '(notmuch-search "id:non-existing-id") + (notmuch-test-wait) + (not (notmuch-search-show-thread))' + test_begin_subtest "notmuch-show: don't elide non-matching messages" test_emacs '(let ((notmuch-show-only-matching-messages nil)) (notmuch-search "from:lars@seas.harvard.edu and subject:\"Maildir storage\"") @@ -177,7 +190,7 @@ test_emacs "(let ((notmuch-command \"$PWD/notmuch_fail\")) (let ((inhibit-read-only t)) (erase-buffer))) (condition-case err (notmuch-show \"*\") - (error (message \"%s\" (second err)))) + (error (message \"%s\" (cadr err)))) (notmuch-test-wait) (with-current-buffer \"*Messages*\" (test-output \"MESSAGES\")) @@ -189,9 +202,8 @@ test_expect_equal "$(notmuch_emacs_error_sanitize notmuch_fail OUTPUT MESSAGES E === MESSAGES === This is an error (see *Notmuch errors* for more details) === ERROR === -[XXX] This is an error -command: YYY/notmuch_fail show --format\\=sexp --format-version\\=4 --decrypt\\=true --exclude\\=false \\' \\* \\' +command: YYY/notmuch_fail show --format\\=sexp --format-version\\=5 --decrypt\\=true --exclude\\=false \\' \\* \\' exit status: 1 stderr: This is an error @@ -208,4 +220,66 @@ test_emacs '(notmuch-show "id:'$gen_msg_id'") output=$(head -1 OUTPUT.raw|cut -f1-4 -d' ') test_expect_equal "$output" "Notmuch Test Suite " +test_begin_subtest "multipart/alternative hides html by default" +test_emacs '(notmuch-show "id:cf0c4d610911171136h1713aa59w9cf9aa31f052ad0a@mail.gmail.com") + (test-visible-output)' +test_expect_equal_file $EXPECTED/notmuch-show-multipart-alternative OUTPUT + +# switching to the crypto corpus, using gpg from here on: +add_gnupg_home +add_email_corpus crypto + +test_begin_subtest "show decrypted message" +test_emacs '(notmuch-show "id:basic-encrypted@crypto.notmuchmail.org") + (test-visible-output)' +test_expect_equal_file $EXPECTED/notmuch-show-decrypted-message OUTPUT + +test_begin_subtest "show encrypted rfc822 message" +if ${TEST_EMACS} --quick --batch --eval '(kill-emacs (if (version< emacs-version "28") 0 1))'; then + test_subtest_known_broken +fi +test_emacs '(notmuch-show "id:encrypted-rfc822-attachment@crypto.notmuchmail.org") + (test-visible-output)' +test_expect_code 1 'fgrep "!!!" OUTPUT' + +test_begin_subtest "show undecryptable message" +test_emacs '(notmuch-show "id:simple-encrypted@crypto.notmuchmail.org") + (test-visible-output)' +test_expect_equal_file $EXPECTED/notmuch-show-undecryptable-message OUTPUT + +test_begin_subtest "show encrypted message when not processing crypto" +test_emacs '(let ((notmuch-crypto-process-mime nil)) + (notmuch-show "id:basic-encrypted@crypto.notmuchmail.org") + (test-visible-output))' +test_expect_equal_file $EXPECTED/notmuch-show-decrypted-message-no-crypto OUTPUT + +test_begin_subtest "notmuch-show with nonexistent CWD" +tid=$(notmuch search --limit=1 --output=threads '*' | sed s/thread://) +test_emacs "(test-log-error + (let ((default-directory \"/nonexistent\")) + (notmuch-show \"$tid\")))" +test_expect_equal "$(cat MESSAGES)" "COMPLETE" + +add_email_corpus attachment + +test_begin_subtest "tar not inlined by default" +test_emacs '(notmuch-show "id:874llc2bkp.fsf@curie.anarc.at") + (test-visible-output "OUTPUT")' +cat < EXPECTED +Antoine Beaupré (2018-03-19) (attachment inbox) +Subject: Re: bug: "no top level messages" crash on Zen email loops +To: David Bremner , notmuch@notmuchmail.org +Date: Mon, 19 Mar 2018 13:56:54 -0400 + +[ multipart/mixed ] +[ text/plain ] +And obviously I forget the frigging attachment. +[ zendesk-email-loop2.tgz: application/x-gtar-compressed ] +[ text/plain ] + +PS: don't we have a "you forgot to actually attach the damn file" plugin +when we detect the word "attachment" and there's no attach? :p +EOF +test_expect_equal_file EXPECTED OUTPUT + test_done