mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-21 18:38:08 +01:00
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.
This commit is contained in:
parent
1a5bcdf6c1
commit
f94a50d80a
2 changed files with 19 additions and 0 deletions
11
test/emacs
11
test/emacs
|
@ -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))
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue