X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=test%2Femacs;h=8b627c7901050dc044ecb8c14b013de4732fbde9;hp=459200539057a4330d53e7980679a76a2abb7621;hb=c6a3a768fef9f59f483af04f4418d350efc27968;hpb=5eb6b2767ad70a76a42e618961c970070b8a3b90 diff --git a/test/emacs b/test/emacs index 45920053..8b627c79 100755 --- a/test/emacs +++ b/test/emacs @@ -1,8 +1,9 @@ #!/usr/bin/env bash + test_description="emacs interface" . test-lib.sh -EXPECTED=../emacs.expected-output +EXPECTED=$TEST_DIRECTORY/emacs.expected-output add_email_corpus @@ -12,20 +13,20 @@ test_emacs '(notmuch-hello) test_expect_equal_file OUTPUT $EXPECTED/notmuch-hello test_begin_subtest "Saved search with 0 results" -test_emacs '(setq notmuch-show-empty-saved-searches t) - (setq notmuch-saved-searches - '\''(("inbox" . "tag:inbox") - ("unread" . "tag:unread") - ("empty" . "tag:doesnotexist"))) - (notmuch-hello) - (test-output)' +test_emacs '(let ((notmuch-show-empty-saved-searches t) + (notmuch-saved-searches + '\''(("inbox" . "tag:inbox") + ("unread" . "tag:unread") + ("empty" . "tag:doesnotexist")))) + (notmuch-hello) + (test-output))' test_expect_equal_file OUTPUT $EXPECTED/notmuch-hello-with-empty test_begin_subtest "No saved searches displayed (all with 0 results)" -test_emacs '(setq notmuch-saved-searches - '\''(("empty" . "tag:doesnotexist"))) - (notmuch-hello) - (test-output)' +test_emacs '(let ((notmuch-saved-searches + '\''(("empty" . "tag:doesnotexist")))) + (notmuch-hello) + (test-output))' test_expect_equal_file OUTPUT $EXPECTED/notmuch-hello-no-saved-searches test_begin_subtest "Basic notmuch-search view in emacs" @@ -118,28 +119,12 @@ output=$(notmuch search 'id:"123..456@example"' | notmuch_search_sanitize) test_expect_equal "$output" "thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Message with .. in Message-Id (inbox search-add show-add)" test_begin_subtest "Sending a message via (fake) SMTP" - -# Before we can send a message, we have to prepare the FCC maildir -mkdir -p mail/sent/cur -mkdir -p mail/sent/new -mkdir -p mail/sent/tmp - -../smtp-dummy sent_message & -smtp_dummy_pid=$! -test_emacs "(setq message-send-mail-function 'message-smtpmail-send-it) - (setq smtpmail-smtp-server \"localhost\") - (setq smtpmail-smtp-service \"25025\") - (notmuch-hello) - (notmuch-mua-mail) - (message-goto-to) - (insert \"user@example.com\nDate: Fri, 29 Mar 1974 10:00:00 -0000\") - (message-goto-subject) - (insert \"Testing message sent via SMTP\") - (message-goto-body) - (insert \"This is a test that messages are sent via SMTP\") - (message-send-and-exit)" >/dev/null 2>&1 -wait ${smtp_dummy_pid} - +emacs_deliver_message \ + 'Testing message sent via SMTP' \ + 'This is a test that messages are sent via SMTP' \ + '(message-goto-to) + (kill-whole-line) + (insert "To: user@example.com\n")' sed \ -e s',^User-Agent: Notmuch/.* Emacs/.*,User-Agent: Notmuch/XXX Emacs/XXX,' \ -e s',^Message-ID: <.*>$,Message-ID: ,' < sent_message >OUTPUT @@ -147,7 +132,7 @@ cat <EXPECTED From: Notmuch Test Suite To: user@example.com Subject: Testing message sent via SMTP -Date: Fri, 29 Mar 1974 10:00:00 -0000 +Date: 01 Jan 2000 12:00:00 -0000 User-Agent: Notmuch/XXX Emacs/XXX Message-ID: MIME-Version: 1.0 @@ -160,12 +145,12 @@ test_expect_equal_file OUTPUT EXPECTED test_begin_subtest "Verify that sent messages are saved/searchable (via FCC)" notmuch new > /dev/null output=$(notmuch search 'subject:"testing message sent via SMTP"' | notmuch_search_sanitize) -test_expect_equal "$output" "thread:XXX 1974-03-29 [1/1] Notmuch Test Suite; Testing message sent via SMTP (inbox)" +test_expect_equal "$output" "thread:XXX 2000-01-01 [1/1] Notmuch Test Suite; Testing message sent via SMTP (inbox)" test_begin_subtest "notmuch-fcc-dirs set to nil" -test_emacs "(setq notmuch-fcc-dirs nil) - (notmuch-mua-mail) - (test-output)" +test_emacs "(let ((notmuch-fcc-dirs nil)) + (notmuch-mua-mail) + (test-output))" cat <EXPECTED From: Notmuch Test Suite To: @@ -180,9 +165,9 @@ mkdir -p mail/sent-string/new mkdir -p mail/sent-string/tmp test_begin_subtest "notmuch-fcc-dirs set to a string" -test_emacs "(setq notmuch-fcc-dirs \"sent-string\") - (notmuch-mua-mail) - (test-output)" +test_emacs "(let ((notmuch-fcc-dirs \"sent-string\")) + (notmuch-mua-mail) + (test-output))" cat <EXPECTED From: Notmuch Test Suite To: @@ -201,11 +186,11 @@ mkdir -p mail/failure/new mkdir -p mail/failure/tmp test_begin_subtest "notmuch-fcc-dirs set to a list (with match)" -test_emacs "(setq notmuch-fcc-dirs - '((\"notmuchmail.org\" . \"sent-list-match\") - (\".*\" . \"failure\"))) - (notmuch-mua-mail) - (test-output)" +test_emacs "(let ((notmuch-fcc-dirs + '((\"notmuchmail.org\" . \"sent-list-match\") + (\".*\" . \"failure\")))) + (notmuch-mua-mail) + (test-output))" cat <EXPECTED From: Notmuch Test Suite To: @@ -221,11 +206,11 @@ mkdir -p mail/sent-list-catch-all/new mkdir -p mail/sent-list-catch-all/tmp test_begin_subtest "notmuch-fcc-dirs set to a list (catch-all)" -test_emacs "(setq notmuch-fcc-dirs - '((\"example.com\" . \"failure\") - (\".*\" . \"sent-list-catch-all\"))) - (notmuch-mua-mail) - (test-output)" +test_emacs "(let ((notmuch-fcc-dirs + '((\"example.com\" . \"failure\") + (\".*\" . \"sent-list-catch-all\")))) + (notmuch-mua-mail) + (test-output))" cat <EXPECTED From: Notmuch Test Suite To: @@ -236,11 +221,11 @@ EOF test_expect_equal_file OUTPUT EXPECTED test_begin_subtest "notmuch-fcc-dirs set to a list (no match)" -test_emacs "(setq notmuch-fcc-dirs - '((\"example.com\" . \"failure\") - (\"nomatchhere.net\" . \"failure\"))) - (notmuch-mua-mail) - (test-output)" +test_emacs "(let ((notmuch-fcc-dirs + '((\"example.com\" . \"failure\") + (\"nomatchhere.net\" . \"failure\")))) + (notmuch-mua-mail) + (test-output))" cat <EXPECTED From: Notmuch Test Suite To: @@ -262,22 +247,22 @@ Subject: Re: Testing message sent via SMTP In-Reply-To: Fcc: $(pwd)/mail/sent --text follows this line-- -On Fri, 29 Mar 1974 10:00:00 -0000, Notmuch Test Suite wrote: +On 01 Jan 2000 12:00:00 -0000, Notmuch Test Suite wrote: > This is a test that messages are sent via SMTP EOF test_expect_equal_file OUTPUT EXPECTED test_begin_subtest "Save attachment from within emacs using notmuch-show-save-attachments" # save as archive to test that Emacs does not re-compress .gz -echo ./attachment1.gz | -test_emacs '(notmuch-show "id:cf0c4d610911171136h1713aa59w9cf9aa31f052ad0a@mail.gmail.com") - (notmuch-show-save-attachments)' > /dev/null 2>&1 +test_emacs '(let ((standard-input "\"attachment1.gz\"")) + (notmuch-show "id:cf0c4d610911171136h1713aa59w9cf9aa31f052ad0a@mail.gmail.com") + (notmuch-show-save-attachments))' > /dev/null 2>&1 test_expect_equal_file attachment1.gz "$EXPECTED/attachment" test_begin_subtest "Save attachment from within emacs using notmuch-show-save-part" # save as archive to test that Emacs does not re-compress .gz -echo ./attachment2.gz | -test_emacs '(notmuch-show-save-part "id:cf0c4d610911171136h1713aa59w9cf9aa31f052ad0a@mail.gmail.com" 5)' > /dev/null 2>&1 +test_emacs '(let ((standard-input "\"attachment2.gz\"")) + (notmuch-show-save-part "id:cf0c4d610911171136h1713aa59w9cf9aa31f052ad0a@mail.gmail.com" 5))' > /dev/null 2>&1 test_expect_equal_file attachment2.gz "$EXPECTED/attachment" test_begin_subtest "View raw message within emacs" @@ -357,4 +342,30 @@ test_emacs '(notmuch-show "id:f35dbb950911171438k5df6eb56k77b6c0944e2e79ae@mail. (test-visible-output)' test_expect_equal_file OUTPUT $EXPECTED/notmuch-show-thread-with-hidden-messages +test_begin_subtest 'Hiding message following HTML part' +test_subtest_known_broken +id='html-message@notmuchmail.org' +emacs_deliver_message \ + 'HTML message' \ + '' \ + "(message-goto-eoh) + (insert \"Message-ID: <$id>\n\") + (message-goto-body) + (mml-insert-part \"text/html\") + (insert \"This is a test HTML message\")" +emacs_deliver_message \ + 'Reply to HTML message' \ + 'This is a reply to the test HTML message' \ + "(message-goto-eoh) + (insert \"In-Reply-To: <$id>\n\")" +test_emacs "(notmuch-show \"id:$id\") \ + (notmuch-show-next-message) \ + (command-execute (key-binding (kbd \"RET\"))) \ + (test-visible-output)" +test_emacs "(notmuch-show \"id:$id\") \ + (notmuch-show-next-message) \ + (notmuch-show-toggle-message) \ + (test-visible-output \"EXPECTED\")" +test_expect_equal_file OUTPUT EXPECTED + test_done