* [PATCH v2] test/emacs: test for functions in notmuch-search-result-format.
2021-02-22 11:21 ` [PATCH] test/emacs: test for " David Bremner
@ 2021-08-30 19:49 ` David Bremner
0 siblings, 0 replies; 9+ messages in thread
From: David Bremner @ 2021-08-30 19:49 UTC (permalink / raw)
To: David Bremner, David Edmondson, notmuch
Based on the commit message in id:20210221151902.2301690-3-dme@dme.org
Add the function notmuch-test-result-flags to test-lib.el to avoid
repeating it in 3 T*.sh files.
---
test/T310-emacs.sh | 14 +++++
test/T460-emacs-tree.sh | 15 ++++++
test/T465-emacs-unthreaded.sh | 17 ++++++
.../result-format-function | 53 +++++++++++++++++++
.../result-format-function | 53 +++++++++++++++++++
.../search-result-format-function | 25 +++++++++
test/test-lib.el | 15 ++++++
7 files changed, 192 insertions(+)
create mode 100644 test/emacs-tree.expected-output/result-format-function
create mode 100644 test/emacs-unthreaded.expected-output/result-format-function
create mode 100644 test/emacs.expected-output/search-result-format-function
diff --git a/test/T310-emacs.sh b/test/T310-emacs.sh
index d69d94a3..6c1e8979 100755
--- a/test/T310-emacs.sh
+++ b/test/T310-emacs.sh
@@ -41,6 +41,20 @@ test_emacs '(notmuch-search "tag:inbox")
(test-output)'
test_expect_equal_file $EXPECTED/notmuch-search-tag-inbox OUTPUT
+test_begin_subtest "Functions in search-result-format"
+test_emacs '(let
+ ((notmuch-search-result-format
+ (quote ((notmuch-test-result-flags . "%s ")
+ ("date" . "%12s ")
+ ("count" . "%9s ")
+ ("authors" . "%-30s ")
+ ("subject" . "%s ")
+ ("tags" . "(%s)")))))
+ (notmuch-search "tag:inbox")
+ (notmuch-test-wait)
+ (test-output))'
+test_expect_equal_file $EXPECTED/search-result-format-function OUTPUT
+
test_begin_subtest "Incremental parsing of search results"
test_emacs "(cl-letf* (((symbol-function 'orig)
(symbol-function 'notmuch-search-process-filter))
diff --git a/test/T460-emacs-tree.sh b/test/T460-emacs-tree.sh
index 405d7ee7..946583d9 100755
--- a/test/T460-emacs-tree.sh
+++ b/test/T460-emacs-tree.sh
@@ -179,4 +179,19 @@ output=$(test_emacs '(notmuch-tree "tag:inbox")
(notmuch-show-stash-message-id)')
test_expect_equal "$output" "\"Stashed: id:1258493565-13508-1-git-send-email-keithp@keithp.com\""
+test_begin_subtest "Functions in tree-result-format"
+test_emacs '
+(let
+ ((notmuch-tree-result-format
+ (quote (("date" . "%12s ")
+ ("authors" . "%-20s")
+ ((("tree" . "%s")
+ ("subject" . "%s")) . " %-54s ")
+ (notmuch-test-result-flags . "(%s)")))))
+ (notmuch-tree "tag:inbox")
+ (notmuch-test-wait)
+ (test-output))
+'
+test_expect_equal_file $EXPECTED/result-format-function OUTPUT
+
test_done
diff --git a/test/T465-emacs-unthreaded.sh b/test/T465-emacs-unthreaded.sh
index f9a09426..1f386bf3 100755
--- a/test/T465-emacs-unthreaded.sh
+++ b/test/T465-emacs-unthreaded.sh
@@ -6,6 +6,8 @@ test_description="emacs unthreaded interface"
test_require_emacs
+EXPECTED=$NOTMUCH_SRCDIR/test/emacs-unthreaded.expected-output
+
generate_message "[id]=large-thread-1" '[subject]="large thread"'
printf " 2001-01-05 Notmuch Test Suite large thread%43s(inbox unread)\n" >> EXPECTED.unthreaded
@@ -34,4 +36,19 @@ output=$(test_emacs '(let ((max-lisp-eval-depth 10))
"SUCCESS")' )
test_expect_equal "$output" '"SUCCESS"'
+add_email_corpus
+test_begin_subtest "Functions in unthreaded-result-format"
+test_emacs '
+(let
+ ((notmuch-unthreaded-result-format
+ (quote (("date" . "%12s ")
+ ("authors" . "%-20s")
+ ("subject" . "%-54s")
+ (notmuch-test-result-flags . "(%s)")))))
+ (notmuch-unthreaded "tag:inbox")
+ (notmuch-test-wait)
+ (test-output))
+'
+test_expect_equal_file $EXPECTED/result-format-function OUTPUT
+
test_done
diff --git a/test/emacs-tree.expected-output/result-format-function b/test/emacs-tree.expected-output/result-format-function
new file mode 100644
index 00000000..7eb24696
--- /dev/null
+++ b/test/emacs-tree.expected-output/result-format-function
@@ -0,0 +1,53 @@
+ 2010-12-29 François Boulogne ─►[aur-general] Guidelines: cp, mkdir vs install ( ui)
+ 2010-12-16 Olivier Berger ─►Essai accentué ( ui)
+ 2009-11-18 Chris Wilson ─►[notmuch] [PATCH 1/2] Makefile: evaluate pkg-config once ( ui)
+ 2009-11-18 Alex Botero-Lowry ┬►[notmuch] [PATCH] Error out if no query is supplied to search instead of going into an infinite loop (& ui)
+ 2009-11-18 Carl Worth ╰─►[notmuch] [PATCH] Error out if no query is supplied to search instead of going into an infinite loop ( ui)
+ 2009-11-17 Ingmar Vanhassel ┬►[notmuch] [PATCH] Typsos ( ui)
+ 2009-11-18 Carl Worth ╰─► ... ( ui)
+ 2009-11-17 Adrian Perez de Cast ┬►[notmuch] Introducing myself ( =ui)
+ 2009-11-18 Keith Packard ├─► ... ( ui)
+ 2009-11-18 Carl Worth ╰─► ... ( ui)
+ 2009-11-17 Israel Herraiz ┬►[notmuch] New to the list ( ui)
+ 2009-11-18 Keith Packard ├─► ... ( ui)
+ 2009-11-18 Carl Worth ╰─► ... ( ui)
+ 2009-11-17 Jan Janak ┬►[notmuch] What a great idea! ( ui)
+ 2009-11-17 Jan Janak ├─► ... ( ui)
+ 2009-11-18 Carl Worth ╰─► ... ( ui)
+ 2009-11-17 Jan Janak ┬►[notmuch] [PATCH] Older versions of install do not support -C. ( ui)
+ 2009-11-18 Carl Worth ╰─► ... ( ui)
+ 2009-11-17 Aron Griffis ┬►[notmuch] archive ( ui)
+ 2009-11-18 Keith Packard ╰┬► ... ( ui)
+ 2009-11-18 Carl Worth ╰─► ... ( ui)
+ 2009-11-17 Keith Packard ┬►[notmuch] [PATCH] Make notmuch-show 'X' (and 'x') commands remove inbox (and unread) tags ( ui)
+ 2009-11-18 Carl Worth ╰─►[notmuch] [PATCH] Make notmuch-show 'X' (and 'x') commands remove inbox (and unread) tags ( ui)
+ 2009-11-17 Lars Kellogg-Stedman ┬►[notmuch] Working with Maildir storage? ( = i)
+ 2009-11-17 Mikhail Gusarov ├┬► ... ( =ui)
+ 2009-11-17 Lars Kellogg-Stedman │╰┬► ... ( =ui)
+ 2009-11-17 Mikhail Gusarov │ ├─► ... ( ui)
+ 2009-11-17 Keith Packard │ ╰┬► ... ( ui)
+ 2009-11-18 Lars Kellogg-Stedman │ ╰─► ... ( =ui)
+ 2009-11-18 Carl Worth ╰─► ... ( ui)
+ 2009-11-17 Mikhail Gusarov ┬►[notmuch] [PATCH 1/2] Close message file after parsing message headers ( i)
+ 2009-11-17 Mikhail Gusarov ├─►[notmuch] [PATCH 2/2] Include <stdint.h> to get uint32_t in C++ file with gcc 4.4 ( ui)
+ 2009-11-17 Carl Worth ╰┬►[notmuch] [PATCH 1/2] Close message file after parsing message headers ( ui)
+ 2009-11-17 Keith Packard ╰┬► ... ( ui)
+ 2009-11-18 Carl Worth ╰─► ... ( ui)
+ 2009-11-18 Keith Packard ┬►[notmuch] [PATCH] Create a default notmuch-show-hook that highlights URLs and uses word-wrap ( ui)
+ 2009-11-18 Alexander Botero-Low ╰─►[notmuch] [PATCH] Create a default notmuch-show-hook that highlights URLs and uses word-wrap ( ui)
+ 2009-11-18 Alexander Botero-Low ─►[notmuch] request for pull ( ui)
+ 2009-11-18 Jjgod Jiang ┬►[notmuch] Mac OS X/Darwin compatibility issues ( ui)
+ 2009-11-18 Alexander Botero-Low ╰┬► ... ( ui)
+ 2009-11-18 Jjgod Jiang ╰┬► ... ( ui)
+ 2009-11-18 Alexander Botero-Low ╰─► ... ( ui)
+ 2009-11-18 Rolland Santimano ─►[notmuch] Link to mailing list archives ? ( ui)
+ 2009-11-18 Jan Janak ─►[notmuch] [PATCH] notmuch new: Support for conversion of spool subdirectories into tags ( ui)
+ 2009-11-18 Stewart Smith ─►[notmuch] [PATCH] count_files: sort directory in inode order before statting ( ui)
+ 2009-11-18 Stewart Smith ─►[notmuch] [PATCH 2/2] Read mail directory in inode number order ( ui)
+ 2009-11-18 Stewart Smith ─►[notmuch] [PATCH] Fix linking with gcc to use g++ to link in C++ libs. ( ui)
+ 2009-11-18 Lars Kellogg-Stedman ┬►[notmuch] "notmuch help" outputs to stderr? (&=ui)
+ 2009-11-18 Lars Kellogg-Stedman ╰─► ... (&=ui)
+ 2009-11-17 Mikhail Gusarov ─►[notmuch] [PATCH] Handle rename of message file ( ui)
+ 2009-11-17 Alex Botero-Lowry ┬►[notmuch] preliminary FreeBSD support (& ui)
+ 2009-11-17 Carl Worth ╰─► ... ( ui)
+End of search results.
diff --git a/test/emacs-unthreaded.expected-output/result-format-function b/test/emacs-unthreaded.expected-output/result-format-function
new file mode 100644
index 00000000..bcb10b96
--- /dev/null
+++ b/test/emacs-unthreaded.expected-output/result-format-function
@@ -0,0 +1,53 @@
+ 2010-12-29 François Boulogne [aur-general] Guidelines: cp, mkdir vs install ( ui)
+ 2010-12-16 Olivier Berger Essai accentué ( ui)
+ 2009-11-18 Chris Wilson [notmuch] [PATCH 1/2] Makefile: evaluate pkg-config once( ui)
+ 2009-11-18 Carl Worth [notmuch] [PATCH] Error out if no query is supplied to search instead of going into an infinite loop( ui)
+ 2009-11-18 Carl Worth [notmuch] [PATCH] Typsos ( ui)
+ 2009-11-18 Carl Worth [notmuch] Introducing myself ( ui)
+ 2009-11-18 Carl Worth [notmuch] New to the list ( ui)
+ 2009-11-18 Carl Worth [notmuch] What a great idea! ( ui)
+ 2009-11-18 Carl Worth [notmuch] [PATCH] Older versions of install do not support -C.( ui)
+ 2009-11-18 Carl Worth [notmuch] archive ( ui)
+ 2009-11-18 Carl Worth [notmuch] [PATCH] Make notmuch-show 'X' (and 'x') commands remove inbox (and unread) tags( ui)
+ 2009-11-18 Carl Worth [notmuch] Working with Maildir storage? ( ui)
+ 2009-11-18 Carl Worth [notmuch] [PATCH 1/2] Close message file after parsing message headers( ui)
+ 2009-11-18 Alexander Botero-Low[notmuch] [PATCH] Create a default notmuch-show-hook that highlights URLs and uses word-wrap( ui)
+ 2009-11-18 Keith Packard [notmuch] [PATCH] Create a default notmuch-show-hook that highlights URLs and uses word-wrap( ui)
+ 2009-11-18 Alexander Botero-Low[notmuch] request for pull ( ui)
+ 2009-11-18 Alexander Botero-Low[notmuch] Mac OS X/Darwin compatibility issues ( ui)
+ 2009-11-18 Jjgod Jiang [notmuch] Mac OS X/Darwin compatibility issues ( ui)
+ 2009-11-18 Alexander Botero-Low[notmuch] Mac OS X/Darwin compatibility issues ( ui)
+ 2009-11-18 Rolland Santimano [notmuch] Link to mailing list archives ? ( ui)
+ 2009-11-18 Jan Janak [notmuch] [PATCH] notmuch new: Support for conversion of spool subdirectories into tags( ui)
+ 2009-11-18 Jjgod Jiang [notmuch] Mac OS X/Darwin compatibility issues ( ui)
+ 2009-11-18 Stewart Smith [notmuch] [PATCH] count_files: sort directory in inode order before statting( ui)
+ 2009-11-18 Keith Packard [notmuch] archive ( ui)
+ 2009-11-18 Keith Packard [notmuch] Introducing myself ( ui)
+ 2009-11-18 Keith Packard [notmuch] New to the list ( ui)
+ 2009-11-18 Stewart Smith [notmuch] [PATCH 2/2] Read mail directory in inode number order( ui)
+ 2009-11-18 Stewart Smith [notmuch] [PATCH] Fix linking with gcc to use g++ to link in C++ libs.( ui)
+ 2009-11-18 Lars Kellogg-Stedman[notmuch] "notmuch help" outputs to stderr? (&=ui)
+ 2009-11-18 Lars Kellogg-Stedman[notmuch] "notmuch help" outputs to stderr? (&=ui)
+ 2009-11-18 Lars Kellogg-Stedman[notmuch] Working with Maildir storage? ( =ui)
+ 2009-11-18 Alex Botero-Lowry [notmuch] [PATCH] Error out if no query is supplied to search instead of going into an infinite loop(& ui)
+ 2009-11-17 Ingmar Vanhassel [notmuch] [PATCH] Typsos ( ui)
+ 2009-11-17 Aron Griffis [notmuch] archive ( ui)
+ 2009-11-17 Adrian Perez de Cast[notmuch] Introducing myself ( =ui)
+ 2009-11-17 Israel Herraiz [notmuch] New to the list ( ui)
+ 2009-11-17 Jan Janak [notmuch] What a great idea! ( ui)
+ 2009-11-17 Jan Janak [notmuch] What a great idea! ( ui)
+ 2009-11-17 Jan Janak [notmuch] [PATCH] Older versions of install do not support -C.( ui)
+ 2009-11-17 Keith Packard [notmuch] [PATCH] Make notmuch-show 'X' (and 'x') commands remove inbox (and unread) tags( ui)
+ 2009-11-17 Keith Packard [notmuch] Working with Maildir storage? ( ui)
+ 2009-11-17 Keith Packard [notmuch] [PATCH 1/2] Close message file after parsing message headers( ui)
+ 2009-11-17 Mikhail Gusarov [notmuch] [PATCH] Handle rename of message file ( ui)
+ 2009-11-17 Mikhail Gusarov [notmuch] Working with Maildir storage? ( ui)
+ 2009-11-17 Lars Kellogg-Stedman[notmuch] Working with Maildir storage? ( =ui)
+ 2009-11-17 Carl Worth [notmuch] preliminary FreeBSD support ( ui)
+ 2009-11-17 Alex Botero-Lowry [notmuch] preliminary FreeBSD support (& ui)
+ 2009-11-17 Mikhail Gusarov [notmuch] Working with Maildir storage? ( =ui)
+ 2009-11-17 Lars Kellogg-Stedman[notmuch] Working with Maildir storage? ( =ui)
+ 2009-11-17 Carl Worth [notmuch] [PATCH 1/2] Close message file after parsing message headers( ui)
+ 2009-11-17 Mikhail Gusarov [notmuch] [PATCH 2/2] Include <stdint.h> to get uint32_t in C++ file with gcc 4.4( ui)
+ 2009-11-17 Mikhail Gusarov [notmuch] [PATCH 1/2] Close message file after parsing message headers( ui)
+End of search results.
diff --git a/test/emacs.expected-output/search-result-format-function b/test/emacs.expected-output/search-result-format-function
new file mode 100644
index 00000000..08b4bee7
--- /dev/null
+++ b/test/emacs.expected-output/search-result-format-function
@@ -0,0 +1,25 @@
+ ui 2010-12-29 [1/1] François Boulogne [aur-general] Guidelines: cp, mkdir vs install (inbox unread)
+ ui 2010-12-16 [1/1] Olivier Berger Essai accentué (inbox unread)
+ ui 2009-11-18 [1/1] Chris Wilson [notmuch] [PATCH 1/2] Makefile: evaluate pkg-config once (inbox unread)
+& ui 2009-11-18 [2/2] Alex Botero-Lowry, Carl Worth [notmuch] [PATCH] Error out if no query is supplied to search instead of going into an infinite loop (attachment inbox unread)
+ ui 2009-11-18 [2/2] Ingmar Vanhassel, Carl Worth [notmuch] [PATCH] Typsos (inbox unread)
+ =ui 2009-11-18 [3/3] Adrian Perez de Castro, Keith Packard, Carl Worth [notmuch] Introducing myself (inbox signed unread)
+ ui 2009-11-18 [3/3] Israel Herraiz, Keith Packard, Carl Worth [notmuch] New to the list (inbox unread)
+ ui 2009-11-18 [3/3] Jan Janak, Carl Worth [notmuch] What a great idea! (inbox unread)
+ ui 2009-11-18 [2/2] Jan Janak, Carl Worth [notmuch] [PATCH] Older versions of install do not support -C. (inbox unread)
+ ui 2009-11-18 [3/3] Aron Griffis, Keith Packard, Carl Worth [notmuch] archive (inbox unread)
+ ui 2009-11-18 [2/2] Keith Packard, Carl Worth [notmuch] [PATCH] Make notmuch-show 'X' (and 'x') commands remove inbox (and unread) tags (inbox unread)
+ =ui 2009-11-18 [7/7] Lars Kellogg-Stedman, Mikhail Gusarov, Keith Packard, Carl Worth [notmuch] Working with Maildir storage? (inbox signed unread)
+ ui 2009-11-18 [5/5] Mikhail Gusarov, Carl Worth, Keith Packard [notmuch] [PATCH 1/2] Close message file after parsing message headers (inbox unread)
+ ui 2009-11-18 [2/2] Keith Packard, Alexander Botero-Lowry [notmuch] [PATCH] Create a default notmuch-show-hook that highlights URLs and uses word-wrap (inbox unread)
+ ui 2009-11-18 [1/1] Alexander Botero-Lowry [notmuch] request for pull (inbox unread)
+ ui 2009-11-18 [4/4] Jjgod Jiang, Alexander Botero-Lowry [notmuch] Mac OS X/Darwin compatibility issues (inbox unread)
+ ui 2009-11-18 [1/1] Rolland Santimano [notmuch] Link to mailing list archives ? (inbox unread)
+ ui 2009-11-18 [1/1] Jan Janak [notmuch] [PATCH] notmuch new: Support for conversion of spool subdirectories into tags (inbox unread)
+ ui 2009-11-18 [1/1] Stewart Smith [notmuch] [PATCH] count_files: sort directory in inode order before statting (inbox unread)
+ ui 2009-11-18 [1/1] Stewart Smith [notmuch] [PATCH 2/2] Read mail directory in inode number order (inbox unread)
+ ui 2009-11-18 [1/1] Stewart Smith [notmuch] [PATCH] Fix linking with gcc to use g++ to link in C++ libs. (inbox unread)
+&=ui 2009-11-18 [2/2] Lars Kellogg-Stedman [notmuch] "notmuch help" outputs to stderr? (attachment inbox signed unread)
+ ui 2009-11-17 [1/1] Mikhail Gusarov [notmuch] [PATCH] Handle rename of message file (inbox unread)
+& ui 2009-11-17 [2/2] Alex Botero-Lowry, Carl Worth [notmuch] preliminary FreeBSD support (attachment inbox unread)
+End of search results.
diff --git a/test/test-lib.el b/test/test-lib.el
index 32d53736..c840bc98 100644
--- a/test/test-lib.el
+++ b/test/test-lib.el
@@ -159,6 +159,21 @@ running, quit if it terminated."
(lambda (x) `(prog1 ,x (notmuch-post-command)))
body)))
+;; For testing functions in
+;; notmuch-{search,tree,unsorted}-result-format
+(defun notmuch-test-result-flags (format-string result)
+ (let ((tags-to-letters (quote (("attachment" . "&")
+ ("signed" . "=")
+ ("unread" . "u")
+ ("inbox" . "i"))))
+ (tags (plist-get result :tags)))
+ (format format-string
+ (mapconcat (lambda (t2l)
+ (if (member (car t2l) tags)
+ (cdr t2l)
+ " "))
+ tags-to-letters ""))))
+
;; For historical reasons, we hide deleted tags by default in the test
;; suite
(setq notmuch-tag-deleted-formats
--
2.33.0\r
^ permalink raw reply related [flat|nested] 9+ messages in thread