]> git.notmuchmail.org Git - notmuch/blobdiff - test/test-lib.el
test: New tests for Emacs charset handling
[notmuch] / test / test-lib.el
index 437f83f44d08e8224465181a08a0f17e748a0413..04c8d63450533dbf566ff25cb6f2276b2032ee5b 100644 (file)
 
 (defun test-output (&optional filename)
   "Save current buffer to file FILENAME.  Default FILENAME is OUTPUT."
+  (notmuch-post-command)
   (write-region (point-min) (point-max) (or filename "OUTPUT")))
 
 (defun test-visible-output (&optional filename)
   "Save visible text in current buffer to file FILENAME.  Default
 FILENAME is OUTPUT."
-  (let ((text (visible-buffer-string)))
+  (notmuch-post-command)
+  (let ((text (visible-buffer-string))
+       ;; Tests expect output in UTF-8 encoding
+       (coding-system-for-write 'utf-8))
     (with-temp-file (or filename "OUTPUT") (insert text))))
 
 (defun visible-buffer-string ()
@@ -166,7 +170,21 @@ nothing."
      (t
       (notmuch-test-report-unexpected output expected)))))
 
+(defun notmuch-post-command ()
+  (run-hooks 'post-command-hook))
+
+(defmacro notmuch-test-progn (&rest body)
+  (cons 'progn
+       (mapcar
+        (lambda (x) `(prog1 ,x (notmuch-post-command)))
+        body)))
+
 ;; For historical reasons, we hide deleted tags by default in the test
 ;; suite
 (setq notmuch-tag-deleted-formats
       '((".*" nil)))
+
+;; force a common html renderer, to avoid test variations between
+;; environments
+
+(setq mm-text-html-renderer 'html2text)