mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-22 17:34:54 +01:00
02a2eeb427
The files (test) scripts source (with builtin command `.`) provides information which the scripts depend, and without the `source` to succeed allowing script to continue may lead to dangerous situations (e.g. rm -rf "${undefined_variable}"/*). At the end of all source (.) lines construct ' || exit 1' was added; In our case the script script will exit if it cannot find (or read) the file to be sourced. Additionally script would also exits if the last command of the sourced file exited nonzero.
181 lines
6.2 KiB
Bash
Executable file
181 lines
6.2 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
test_description="emacs tree view interface"
|
|
. ./test-lib.sh || exit 1
|
|
|
|
EXPECTED=$TEST_DIRECTORY/tree.expected-output
|
|
|
|
add_email_corpus
|
|
|
|
test_begin_subtest "Basic notmuch-tree view in emacs"
|
|
test_emacs '(notmuch-tree "tag:inbox")
|
|
(notmuch-test-wait)
|
|
(test-output)
|
|
(delete-other-windows)'
|
|
test_expect_equal_file OUTPUT $EXPECTED/notmuch-tree-tag-inbox
|
|
|
|
test_begin_subtest "Refreshed notmuch-tree view in emacs"
|
|
test_emacs '(notmuch-tree "tag:inbox")
|
|
(notmuch-test-wait)
|
|
(notmuch-tree-refresh-view)
|
|
(notmuch-test-wait)
|
|
(test-output)
|
|
(delete-other-windows)'
|
|
test_expect_equal_file OUTPUT $EXPECTED/notmuch-tree-tag-inbox
|
|
|
|
# In the following tag tests we make sure the display is updated
|
|
# correctly and, in a separate test, that the database is updated
|
|
# correctly.
|
|
|
|
test_begin_subtest "Tag message in notmuch tree view (display)"
|
|
test_emacs '(notmuch-tree "tag:inbox")
|
|
(notmuch-test-wait)
|
|
(forward-line)
|
|
(notmuch-tree-tag (list "+test_tag"))
|
|
(test-output)
|
|
(delete-other-windows)'
|
|
test_expect_equal_file OUTPUT $EXPECTED/notmuch-tree-tag-inbox-tagged
|
|
|
|
test_begin_subtest "Tag message in notmuch tree view (database)"
|
|
output=$(notmuch search --output=messages 'tag:test_tag')
|
|
test_expect_equal "$output" "id:877h1wv7mg.fsf@inf-8657.int-evry.fr"
|
|
|
|
test_begin_subtest "Untag message in notmuch tree view"
|
|
test_emacs '(notmuch-tree "tag:inbox")
|
|
(notmuch-test-wait)
|
|
(forward-line)
|
|
(notmuch-tree-tag (list "-test_tag"))
|
|
(test-output)
|
|
(delete-other-windows)'
|
|
test_expect_equal_file OUTPUT $EXPECTED/notmuch-tree-tag-inbox
|
|
|
|
test_begin_subtest "Untag message in notmuch tree view (database)"
|
|
output=$(notmuch search --output=messages 'tag:test_tag')
|
|
test_expect_equal "$output" ""
|
|
|
|
test_begin_subtest "Tag thread in notmuch tree view"
|
|
test_emacs '(notmuch-tree "tag:inbox")
|
|
(notmuch-test-wait)
|
|
;; move to a sizable thread
|
|
(forward-line 26)
|
|
(notmuch-tree-tag-thread (list "+test_thread_tag"))
|
|
(test-output)
|
|
(delete-other-windows)'
|
|
test_expect_equal_file OUTPUT $EXPECTED/notmuch-tree-tag-inbox-thread-tagged
|
|
|
|
test_begin_subtest "Tag message in notmuch tree view (database)"
|
|
output=$(notmuch search --output=messages 'tag:test_thread_tag')
|
|
test_expect_equal "$output" \
|
|
"id:87ocn0qh6d.fsf@yoom.home.cworth.org
|
|
id:20091118005040.GA25380@dottiness.seas.harvard.edu
|
|
id:yunaayketfm.fsf@aiko.keithp.com
|
|
id:87fx8can9z.fsf@vertex.dottedmag
|
|
id:20091117203301.GV3165@dottiness.seas.harvard.edu
|
|
id:87iqd9rn3l.fsf@vertex.dottedmag
|
|
id:20091117190054.GU3165@dottiness.seas.harvard.edu"
|
|
|
|
test_begin_subtest "Untag thread in notmuch tree view"
|
|
test_emacs '(notmuch-tree "tag:inbox")
|
|
(notmuch-test-wait)
|
|
;; move to the same sizable thread as above
|
|
(forward-line 26)
|
|
(notmuch-tree-tag-thread (list "-test_thread_tag"))
|
|
(test-output)
|
|
(delete-other-windows)'
|
|
test_expect_equal_file OUTPUT $EXPECTED/notmuch-tree-tag-inbox
|
|
|
|
test_begin_subtest "Untag message in notmuch tree view (database)"
|
|
output=$(notmuch search --output=messages 'tag:test_thread_tag')
|
|
test_expect_equal "$output" ""
|
|
|
|
test_begin_subtest "Navigation of notmuch-hello to search results"
|
|
test_emacs '(notmuch-hello)
|
|
(goto-char (point-min))
|
|
(re-search-forward "inbox")
|
|
(widget-button-press (1- (point)))
|
|
(notmuch-test-wait)
|
|
(notmuch-tree-from-search-current-query)
|
|
(notmuch-test-wait)
|
|
(test-output)
|
|
(delete-other-windows)'
|
|
test_expect_equal_file OUTPUT $EXPECTED/notmuch-tree-tag-inbox
|
|
|
|
test_begin_subtest "Tree view of a single thread (from search)"
|
|
test_emacs '(notmuch-hello)
|
|
(goto-char (point-min))
|
|
(re-search-forward "inbox")
|
|
(widget-button-press (1- (point)))
|
|
(notmuch-test-wait)
|
|
(notmuch-tree-from-search-thread)
|
|
(notmuch-test-wait)
|
|
(test-output)
|
|
(delete-other-windows)'
|
|
test_expect_equal_file OUTPUT $EXPECTED/notmuch-tree-single-thread
|
|
|
|
test_begin_subtest "Tree view of a single thread (from show)"
|
|
test_emacs '(notmuch-hello)
|
|
(goto-char (point-min))
|
|
(re-search-forward "inbox")
|
|
(widget-button-press (1- (point)))
|
|
(notmuch-test-wait)
|
|
(notmuch-search-show-thread)
|
|
(notmuch-tree-from-show-current-query)
|
|
(notmuch-test-wait)
|
|
(test-output)
|
|
(delete-other-windows)'
|
|
test_expect_equal_file OUTPUT $EXPECTED/notmuch-tree-single-thread
|
|
|
|
test_begin_subtest "Message window of tree view"
|
|
test_emacs '(notmuch-hello)
|
|
(goto-char (point-min))
|
|
(re-search-forward "inbox")
|
|
(widget-button-press (1- (point)))
|
|
(notmuch-test-wait)
|
|
(notmuch-search-next-thread)
|
|
(notmuch-tree-from-search-thread)
|
|
(notmuch-test-wait)
|
|
(select-window notmuch-tree-message-window)
|
|
(test-output)
|
|
(delete-other-windows)'
|
|
cp OUTPUT /tmp/mjwout
|
|
test_expect_equal_file OUTPUT $EXPECTED/notmuch-tree-show-window
|
|
|
|
test_begin_subtest "Stash id"
|
|
output=$(test_emacs '(notmuch-tree "id:1258498485-sup-142@elly")
|
|
(notmuch-test-wait)
|
|
(notmuch-show-stash-message-id)')
|
|
test_expect_equal "$output" "\"Stashed: id:1258498485-sup-142@elly\""
|
|
|
|
test_begin_subtest "Move to next matching message"
|
|
output=$(test_emacs '(notmuch-tree "from:cworth")
|
|
(notmuch-test-wait)
|
|
(notmuch-tree-next-matching-message)
|
|
(notmuch-show-stash-message-id)')
|
|
test_expect_equal "$output" "\"Stashed: id:878we4qdqf.fsf@yoom.home.cworth.org\""
|
|
|
|
test_begin_subtest "Move to next thread"
|
|
output=$(test_emacs '(notmuch-tree "tag:inbox")
|
|
(notmuch-test-wait)
|
|
(forward-line 26)
|
|
(notmuch-tree-next-thread)
|
|
(notmuch-show-stash-message-id)')
|
|
test_expect_equal "$output" "\"Stashed: id:1258471718-6781-1-git-send-email-dottedmag@dottedmag.net\""
|
|
|
|
test_begin_subtest "Move to previous thread"
|
|
output=$(test_emacs '(notmuch-tree "tag:inbox")
|
|
(notmuch-test-wait)
|
|
(forward-line 26)
|
|
(notmuch-tree-prev-thread)
|
|
(notmuch-show-stash-message-id)')
|
|
test_expect_equal "$output" "\"Stashed: id:20091117190054.GU3165@dottiness.seas.harvard.edu\""
|
|
|
|
test_begin_subtest "Move to previous previous thread"
|
|
output=$(test_emacs '(notmuch-tree "tag:inbox")
|
|
(notmuch-test-wait)
|
|
(forward-line 26)
|
|
(notmuch-tree-prev-thread)
|
|
(notmuch-tree-prev-thread)
|
|
(notmuch-show-stash-message-id)')
|
|
test_expect_equal "$output" "\"Stashed: id:1258493565-13508-1-git-send-email-keithp@keithp.com\""
|
|
|
|
test_done
|