mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-01 15:14:16 +01:00
70c6ac377b
emacs24 and emacs23 have different secure tag defaults: in particular, mml-secure-message-sign only signs the part on emacs23 but the whole message on emacs24. This difference makes one of the draft tests fail (which causes a cascade of later failures) on emacs23. It seems that travis uses emacs23 so it is useful to fix this. We do this by forcing the whole message to be signed in either case -- the code snippet is extracted from mml-secure-message-sign on emacs24.
72 lines
2.3 KiB
Bash
Executable file
72 lines
2.3 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
test_description="Emacs Draft Handling"
|
|
. ./test-lib.sh || exit 1
|
|
|
|
add_email_corpus
|
|
|
|
notmuch config set search.exclude_tags deleted
|
|
|
|
test_begin_subtest "Saving a draft indexes it"
|
|
test_emacs '(notmuch-mua-mail)
|
|
(message-goto-subject)
|
|
(insert "draft-test-0001")
|
|
(notmuch-draft-save)
|
|
(test-output)'
|
|
count1=$(notmuch count tag:draft)
|
|
count2=$(notmuch count subject:draft-test-0001)
|
|
test_expect_equal "$count1=$count2" "1=1"
|
|
|
|
test_begin_subtest "Saving a draft tags previous draft as deleted"
|
|
test_emacs '(notmuch-mua-mail)
|
|
(message-goto-subject)
|
|
(insert "draft-test-0002")
|
|
(notmuch-draft-save)
|
|
(notmuch-draft-save)
|
|
(test-output)'
|
|
count1=$(notmuch count tag:draft)
|
|
count2=$(notmuch count subject:draft-test-0002)
|
|
|
|
test_expect_equal "$count1,$count2" "2,1"
|
|
|
|
test_begin_subtest "Saving a signed draft adds header"
|
|
test_emacs '(notmuch-mua-mail)
|
|
(message-goto-subject)
|
|
(insert "draft-test-0003")
|
|
;; We would use (mml-secure-message-sign) but on emacs23
|
|
;; that only signs the part, not the whole message.
|
|
(mml-secure-message mml-secure-method '\''sign)
|
|
(notmuch-draft-save)
|
|
(test-output)'
|
|
header_count=$(notmuch show --format=raw subject:draft-test-0003 | grep -c ^X-Notmuch-Emacs-Secure)
|
|
body_count=$(notmuch notmuch show --format=raw subject:draft-test-0003 | grep -c '^\<#secure')
|
|
test_expect_equal "$header_count,$body_count" "1,0"
|
|
|
|
test_begin_subtest "Refusing to save an encrypted draft"
|
|
test_emacs '(notmuch-mua-mail)
|
|
(message-goto-subject)
|
|
(insert "draft-test-0004")
|
|
(mml-secure-message-sign-encrypt)
|
|
(let ((notmuch-draft-save-plaintext nil))
|
|
(notmuch-draft-save))
|
|
(test-output)'
|
|
count1=$(notmuch count tag:draft)
|
|
count2=$(notmuch count subject:draft-test-0004)
|
|
|
|
test_expect_equal "$count1,$count2" "3,0"
|
|
|
|
test_begin_subtest "Resuming a signed draft"
|
|
|
|
test_emacs '(notmuch-show "subject:draft-test-0003")
|
|
(notmuch-show-resume-message)
|
|
(test-output)'
|
|
notmuch_dir_sanitize OUTPUT > OUTPUT.clean
|
|
cat <<EOF | notmuch_dir_sanitize >EXPECTED
|
|
From: Notmuch Test Suite <test_suite@notmuchmail.org>
|
|
To:
|
|
Subject: draft-test-0003
|
|
Fcc: MAIL_DIR/sent
|
|
--text follows this line--
|
|
<#secure method=pgpmime mode=sign>
|
|
EOF
|
|
test_expect_equal_file EXPECTED OUTPUT.clean
|
|
test_done
|