diff options
author | Austin Clements <amdragon@MIT.EDU> | 2012-07-09 17:42:39 -0400 |
---|---|---|
committer | David Bremner <bremner@debian.org> | 2012-07-12 17:39:18 -0600 |
commit | f94a50d80af8c2a5513e58db954dd0b1910eb4a8 (patch) | |
tree | f3b4577d7f3cead5059fad648c4cb27ace18d333 | |
parent | 1a5bcdf6c161746269f64599328ed6b616859760 (diff) |
test: New test for incremental search output parsing
This advises the search process filter to make it process one
character at a time in order to test the pessimal case for incremental
search output parsing.
The text parser fails this test because it gets tricked into thinking
a parenthetical remark in a subject is the tag list.
-rwxr-xr-x | test/emacs | 11 | ||||
-rw-r--r-- | test/test-lib.el | 8 |
2 files changed, 19 insertions, 0 deletions
@@ -35,6 +35,17 @@ test_emacs '(notmuch-search "tag:inbox") (test-output)' test_expect_equal_file OUTPUT $EXPECTED/notmuch-search-tag-inbox +test_begin_subtest "Incremental parsing of search results" +test_subtest_known_broken +test_emacs "(ad-enable-advice 'notmuch-search-process-filter 'around 'pessimal) + (ad-activate 'notmuch-search-process-filter) + (notmuch-search \"tag:inbox\") + (notmuch-test-wait) + (ad-disable-advice 'notmuch-search-process-filter 'around 'pessimal) + (ad-activate 'notmuch-search-process-filter) + (test-output)" +test_expect_equal_file OUTPUT $EXPECTED/notmuch-search-tag-inbox + test_begin_subtest "Navigation of notmuch-hello to search results" test_emacs '(notmuch-hello) (goto-char (point-min)) diff --git a/test/test-lib.el b/test/test-lib.el index 6271da22..5dd6271c 100644 --- a/test/test-lib.el +++ b/test/test-lib.el @@ -89,6 +89,14 @@ nothing." (add-hook-counter 'notmuch-hello-mode-hook) (add-hook-counter 'notmuch-hello-refresh-hook) +(defadvice notmuch-search-process-filter (around pessimal activate disable) + "Feed notmuch-search-process-filter one character at a time." + (let ((string (ad-get-arg 1))) + (loop for char across string + do (progn + (ad-set-arg 1 (char-to-string char)) + ad-do-it)))) + (defmacro notmuch-test-run (&rest body) "Evaluate a BODY of test expressions and output the result." `(with-temp-buffer |