Based on the commit message in id:20210221151902.2301690-3-...@dme.org
---

I didn't have time so far to write tests for the other two cases, but
maybe this is a start.

 test/T310-emacs.sh                            | 27 +++++++++++++++++++
 .../notmuch-search-header-function            | 25 +++++++++++++++++
 2 files changed, 52 insertions(+)
 create mode 100644 test/emacs.expected-output/notmuch-search-header-function

diff --git a/test/T310-emacs.sh b/test/T310-emacs.sh
index 78ac19a8..647c6491 100755
--- a/test/T310-emacs.sh
+++ b/test/T310-emacs.sh
@@ -39,6 +39,33 @@ 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 '(defun -notmuch-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 ""))))
+           (setq test-search-format
+                 (quote ((-notmuch-result-flags . "%s ")
+                         ("date" . "%12s ")
+                         ("count" . "%9s ")
+                         ("authors" . "%-30s ")
+                         ("subject" . "%s ")
+                         ("tags" . "(%s)"))))
+           (let
+               ((notmuch-search-result-format test-search-format))
+             (notmuch-search "tag:inbox")
+             (notmuch-test-wait))
+           (test-output)'
+test_expect_equal_file $EXPECTED/notmuch-search-header-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/emacs.expected-output/notmuch-search-header-function 
b/test/emacs.expected-output/notmuch-search-header-function
new file mode 100644
index 00000000..08b4bee7
--- /dev/null
+++ b/test/emacs.expected-output/notmuch-search-header-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.
-- 
2.30.0
_______________________________________________
notmuch mailing list -- notmuch@notmuchmail.org
To unsubscribe send an email to notmuch-le...@notmuchmail.org

Reply via email to