unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
blob 909f76ab70a5c7f65e819c38641fcb1e3f179ce0 3977 bytes (raw)
name: contrib/notmuch-pick/test/emacs-pick 	 # note: path name is non-authoritative(*)

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
 
#!/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

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

# 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" ""

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

test_done

debug log:

solving 909f76a ...
found 909f76a in https://yhetil.org/notmuch.git/

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).