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-output)'
|
||||||
test_expect_equal_file OUTPUT $EXPECTED/notmuch-search-tag-inbox
|
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_begin_subtest "Navigation of notmuch-hello to search results"
|
||||||
test_emacs '(notmuch-hello)
|
test_emacs '(notmuch-hello)
|
||||||
(goto-char (point-min))
|
(goto-char (point-min))
|
||||||
|
|
|
@ -89,6 +89,14 @@ nothing."
|
||||||
(add-hook-counter 'notmuch-hello-mode-hook)
|
(add-hook-counter 'notmuch-hello-mode-hook)
|
||||||
(add-hook-counter 'notmuch-hello-refresh-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)
|
(defmacro notmuch-test-run (&rest body)
|
||||||
"Evaluate a BODY of test expressions and output the result."
|
"Evaluate a BODY of test expressions and output the result."
|
||||||
`(with-temp-buffer
|
`(with-temp-buffer
|
||||||
|
|
Loading…
Reference in a new issue