X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=test%2Femacs;h=dd3acc0ecdd1962f989b9a91d3b1753d1c9a97a0;hb=a3883a7e17171381b8b495ce6efd931c8f420c90;hp=95f6b592cbabab0d91eaf738346da1509daef792;hpb=a8aa437bbcd9df6ba739ddd4d0ba402d65847d01;p=notmuch diff --git a/test/emacs b/test/emacs index 95f6b592..dd3acc0e 100755 --- a/test/emacs +++ b/test/emacs @@ -30,4 +30,65 @@ test_begin_subtest "Navigation of notmuch-search to thread view" output=$(test_emacs '(notmuch-search "tag:inbox") (notmuch-test-wait) (goto-char (point-min)) (re-search-forward "Working with Maildir") (notmuch-search-show-thread) (notmuch-test-wait) (message (buffer-string))' 2>&1) test_expect_equal "$output" "$expected" +test_begin_subtest "Add tag from search view" +test_emacs '(notmuch-search "thread:0000000000000001") (notmuch-test-wait) (notmuch-search-add-tag "tag-from-search-view")' +output=$(notmuch search thread:0000000000000001) +test_expect_equal "$output" "thread:0000000000000001 2009-11-18 [4/4] Jjgod Jiang, Alexander Botero-Lowry; [notmuch] Mac OS X/Darwin compatibility issues (inbox tag-from-search-view unread)" + +test_begin_subtest "Remove tag from search view" +test_emacs '(notmuch-search "thread:0000000000000001") (notmuch-test-wait) (notmuch-search-remove-tag "tag-from-search-view")' +output=$(notmuch search thread:0000000000000001) +test_expect_equal "$output" "thread:0000000000000001 2009-11-18 [4/4] Jjgod Jiang, Alexander Botero-Lowry; [notmuch] Mac OS X/Darwin compatibility issues (inbox unread)" + +test_begin_subtest "Add tag from notmuch-show view" +test_emacs '(notmuch-show "thread:0000000000000001") (notmuch-show-add-tag "tag-from-show-view")' +output=$(notmuch search thread:0000000000000001) +test_expect_equal "$output" "thread:0000000000000001 2009-11-18 [4/4] Jjgod Jiang, Alexander Botero-Lowry; [notmuch] Mac OS X/Darwin compatibility issues (inbox tag-from-show-view unread)" + +test_begin_subtest "Remove tag from notmuch-show view" +test_emacs '(notmuch-show "thread:0000000000000001") (notmuch-show-remove-tag "tag-from-show-view")' +output=$(notmuch search thread:0000000000000001) +test_expect_equal "$output" "thread:0000000000000001 2009-11-18 [4/4] Jjgod Jiang, Alexander Botero-Lowry; [notmuch] Mac OS X/Darwin compatibility issues (inbox unread)" + +test_begin_subtest "Message with .. in Message-Id:" +add_message [id]=123..456@example '[subject]="Message with .. in Message-Id"' +test_emacs '(notmuch-search "id:\"123..456@example\"") (notmuch-test-wait) (notmuch-search-add-tag "search-add") (notmuch-search-add-tag "search-remove") (notmuch-search-remove-tag "search-remove") (notmuch-show "id:\"123..456@example\"") (notmuch-test-wait) (notmuch-show-add-tag "show-add") (notmuch-show-add-tag "show-remove") (notmuch-show-remove-tag "show-remove")' +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\") (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} + +# XXX: Masking away the User-Agent, Date, and Message-ID makes sense, +# since these fields are inherently unpredictable. But doing the same +# thing with the From address is cheating. What should really be +# happening here is that the emacs interface should be using something +# like "notmuch compose" to construct the initial message and it +# should be getting the user's name and email address from the notmuch +# configuration file. + +output=$(sed -e 's,^From: .*,From: XXX,' \ + -e s',^User-Agent: Notmuch/.* Emacs/.*,User-Agent: Notmuch/XXX Emacs/XXX,' \ + -e s',^Date:.*,Date: XXX,' \ + -e s',^Message-ID: <.*>$,Message-ID: ,' < sent_message) +test_expect_equal "$output" "From: XXX +To: user@example.com +Subject: Testing message sent via SMTP +User-Agent: Notmuch/XXX Emacs/XXX +Date: XXX +Message-ID: +MIME-Version: 1.0 +Content-Type: text/plain; charset=us-ascii + +This is a test that messages are sent via SMTP" + test_done