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
|