2012-11-07 21:43:27 +01:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
test_description="emacs pick interface"
|
|
|
|
. test-lib.sh
|
|
|
|
|
|
|
|
EXPECTED=$TEST_DIRECTORY/pick.expected-output
|
|
|
|
|
|
|
|
add_email_corpus
|
|
|
|
test_begin_subtest "Do we have emacs"
|
|
|
|
test_emacs '(insert "hello\n")
|
|
|
|
(test-output)'
|
|
|
|
cat <<EOF >EXPECTED
|
|
|
|
hello
|
|
|
|
EOF
|
|
|
|
test_expect_equal_file OUTPUT EXPECTED
|
|
|
|
|
|
|
|
test_begin_subtest "Basic notmuch-pick view in emacs"
|
|
|
|
test_emacs '(add-to-list (quote load-path) "'$PICK_DIR'")
|
|
|
|
(require (quote notmuch-pick))
|
|
|
|
(notmuch-pick "tag:inbox")
|
|
|
|
(notmuch-test-wait)
|
|
|
|
(test-output)
|
|
|
|
(delete-other-windows)'
|
|
|
|
test_expect_equal_file OUTPUT $EXPECTED/notmuch-pick-tag-inbox
|
|
|
|
|
2013-09-02 22:15:14 +02:00
|
|
|
test_begin_subtest "Refreshed notmuch-pick view in emacs"
|
|
|
|
test_emacs '(add-to-list (quote load-path) "'$PICK_DIR'")
|
|
|
|
(require (quote notmuch-pick))
|
|
|
|
(notmuch-pick "tag:inbox")
|
|
|
|
(notmuch-test-wait)
|
|
|
|
(notmuch-pick-refresh-view)
|
|
|
|
(notmuch-test-wait)
|
|
|
|
(test-output)
|
|
|
|
(delete-other-windows)'
|
|
|
|
test_expect_equal_file OUTPUT $EXPECTED/notmuch-pick-tag-inbox
|
|
|
|
|
2013-09-03 16:04:57 +02:00
|
|
|
# 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 pick view (display)"
|
|
|
|
test_emacs '(add-to-list (quote load-path) "'$PICK_DIR'")
|
|
|
|
(require (quote notmuch-pick))
|
|
|
|
(notmuch-pick "tag:inbox")
|
|
|
|
(notmuch-test-wait)
|
|
|
|
(forward-line)
|
|
|
|
(notmuch-pick-tag "+test_tag")
|
|
|
|
(test-output)
|
|
|
|
(delete-other-windows)'
|
|
|
|
test_expect_equal_file OUTPUT $EXPECTED/notmuch-pick-tag-inbox-tagged
|
|
|
|
|
|
|
|
test_begin_subtest "Tag message in notmuch pick 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 pick view"
|
|
|
|
test_emacs '(add-to-list (quote load-path) "'$PICK_DIR'")
|
|
|
|
(require (quote notmuch-pick))
|
|
|
|
(notmuch-pick "tag:inbox")
|
|
|
|
(notmuch-test-wait)
|
|
|
|
(forward-line)
|
|
|
|
(notmuch-pick-tag "-test_tag")
|
|
|
|
(test-output)
|
|
|
|
(delete-other-windows)'
|
|
|
|
test_expect_equal_file OUTPUT $EXPECTED/notmuch-pick-tag-inbox
|
|
|
|
|
|
|
|
test_begin_subtest "Untag message in notmuch pick view (database)"
|
|
|
|
output=$(notmuch search --output=messages 'tag:test_tag')
|
|
|
|
test_expect_equal "$output" ""
|
|
|
|
|
2013-09-03 16:04:58 +02:00
|
|
|
test_begin_subtest "Tag thread in notmuch pick view"
|
|
|
|
test_emacs '(add-to-list (quote load-path) "'$PICK_DIR'")
|
|
|
|
(require (quote notmuch-pick))
|
|
|
|
(notmuch-pick "tag:inbox")
|
|
|
|
(notmuch-test-wait)
|
|
|
|
;; move to a sizable thread
|
|
|
|
(forward-line 26)
|
|
|
|
(notmuch-pick-tag-thread "+test_thread_tag")
|
|
|
|
(test-output)
|
|
|
|
(delete-other-windows)'
|
|
|
|
test_expect_equal_file OUTPUT $EXPECTED/notmuch-pick-tag-inbox-thread-tagged
|
|
|
|
|
|
|
|
test_begin_subtest "Tag message in notmuch pick 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 pick view"
|
|
|
|
test_emacs '(add-to-list (quote load-path) "'$PICK_DIR'")
|
|
|
|
(require (quote notmuch-pick))
|
|
|
|
(notmuch-pick "tag:inbox")
|
|
|
|
(notmuch-test-wait)
|
|
|
|
;; move to the same sizable thread as above
|
|
|
|
(forward-line 26)
|
|
|
|
(notmuch-pick-tag-thread "-test_thread_tag")
|
|
|
|
(test-output)
|
|
|
|
(delete-other-windows)'
|
|
|
|
test_expect_equal_file OUTPUT $EXPECTED/notmuch-pick-tag-inbox
|
|
|
|
|
|
|
|
test_begin_subtest "Untag message in notmuch pick view (database)"
|
|
|
|
output=$(notmuch search --output=messages 'tag:test_thread_tag')
|
|
|
|
test_expect_equal "$output" ""
|
|
|
|
|
2012-11-07 21:43:27 +01:00
|
|
|
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-pick-from-search-current-query)
|
|
|
|
(notmuch-test-wait)
|
|
|
|
(test-output)
|
|
|
|
(delete-other-windows)'
|
|
|
|
test_expect_equal_file OUTPUT $EXPECTED/notmuch-pick-tag-inbox
|
|
|
|
|
|
|
|
test_begin_subtest "Pick 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-pick-from-search-thread)
|
|
|
|
(notmuch-test-wait)
|
|
|
|
(test-output)
|
|
|
|
(delete-other-windows)'
|
|
|
|
test_expect_equal_file OUTPUT $EXPECTED/notmuch-pick-single-thread
|
|
|
|
|
|
|
|
test_begin_subtest "Pick 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-pick-from-show-current-query)
|
|
|
|
(notmuch-test-wait)
|
|
|
|
(test-output)
|
|
|
|
(delete-other-windows)'
|
|
|
|
test_expect_equal_file OUTPUT $EXPECTED/notmuch-pick-single-thread
|
|
|
|
|
|
|
|
test_begin_subtest "Message window of pick"
|
|
|
|
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-pick-from-search-thread)
|
|
|
|
(notmuch-test-wait)
|
|
|
|
(select-window notmuch-pick-message-window)
|
|
|
|
(test-output)
|
|
|
|
(delete-other-windows)'
|
|
|
|
cp OUTPUT /tmp/mjwout
|
|
|
|
test_expect_equal_file OUTPUT $EXPECTED/notmuch-pick-show-window
|
|
|
|
|
2013-09-03 16:04:59 +02:00
|
|
|
test_begin_subtest "Stash id"
|
|
|
|
output=$(test_emacs '(add-to-list (quote load-path) "'$PICK_DIR'")
|
|
|
|
(require (quote notmuch-pick))
|
|
|
|
(notmuch-pick "id:1258498485-sup-142@elly")
|
|
|
|
(notmuch-test-wait)
|
|
|
|
(notmuch-show-stash-message-id)')
|
|
|
|
test_expect_equal "$output" "\"Stashed: id:1258498485-sup-142@elly\""
|
|
|
|
|
2012-11-07 21:43:27 +01:00
|
|
|
test_done
|