summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorCarl Worth <cworth@cworth.org>2010-10-22 17:02:07 -0700
committerCarl Worth <cworth@cworth.org>2010-10-22 17:02:07 -0700
commita8aa437bbcd9df6ba739ddd4d0ba402d65847d01 (patch)
tree928dfafbe1bf380d3bca9e85b96340d35f14d5ce /test
parent6307f306fd162cae12a39df3f291ecba2823fc58 (diff)
test: Add simple tests for navigating notmuch-hello and notmuch-search views
We simulate the act of selecting the "inbox" saved search from notmuch-hello and the act of selecting a desired thread from the notmuch-search results. The test for the navigation of notmuch-hello is currently marked as BROKEN since its output is in the opposite order compared to the '(notmuch-search "tag:inbox")' test. This question of ordering is a currently open issue on the notmuch mailing list, so we'll let the test suite reflect that for now. Finally, this commit also abstracts some common emacs lisp code, (waiting for the current buffer's process to complete), into a new notmuch-test-wait function that is made available to anything calling test_emacs.
Diffstat (limited to 'test')
-rwxr-xr-xtest/emacs11
-rw-r--r--test/test-lib.sh6
2 files changed, 15 insertions, 2 deletions
diff --git a/test/emacs b/test/emacs
index 228ea56..95f6b59 100755
--- a/test/emacs
+++ b/test/emacs
@@ -12,13 +12,22 @@ expected=$(cat $EXPECTED/notmuch-hello)
test_expect_equal "$output" "$expected"
test_begin_subtest "Basic notmuch-search view in emacs"
-output=$(test_emacs '(notmuch-search "tag:inbox") (while (get-buffer-process (current-buffer)) (sleep-for 0.1)) (message (buffer-string))' 2>&1)
+output=$(test_emacs '(notmuch-search "tag:inbox") (notmuch-test-wait) (message (buffer-string))' 2>&1)
expected=$(cat $EXPECTED/notmuch-search-tag-inbox)
test_expect_equal "$output" "$expected"
+test_begin_subtest "Navigation of notmuch-hello to search results
+ [XXX: Need to decide the correct order of the search results]"
+output=$(test_emacs '(notmuch-hello) (goto-char (point-min)) (re-search-forward "inbox") (widget-button-press (point)) (notmuch-test-wait) (message (buffer-string))' 2>&1)
+test_expect_equal_failure "$output" "$expected"
+
test_begin_subtest "Basic notmuch-show view in emacs"
output=$(test_emacs '(notmuch-show "thread:0000000000000009") (message (buffer-string))' 2>&1)
expected=$(cat $EXPECTED/notmuch-show-thread-9)
test_expect_equal "$output" "$expected"
+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_done
diff --git a/test/test-lib.sh b/test/test-lib.sh
index 6c9c93e..d9bb254 100644
--- a/test/test-lib.sh
+++ b/test/test-lib.sh
@@ -735,7 +735,11 @@ test_done () {
test_emacs () {
emacs_code="$1"
- emacs --batch --no-site-file --directory ../../emacs --load notmuch.el --eval "(progn (set-frame-width (window-frame (get-buffer-window)) 80) ${emacs_code})"
+ emacs --batch --no-site-file --directory ../../emacs --load notmuch.el \
+ --eval "(defun notmuch-test-wait ()
+ (while (get-buffer-process (current-buffer))
+ (sleep-for 0.1)))" \
+ --eval "(progn (set-frame-width (window-frame (get-buffer-window)) 80) ${emacs_code})"
}