summaryrefslogtreecommitdiff
path: root/test/lisp/gnus/message-tests.el
diff options
context:
space:
mode:
authorMichal Nazarewicz <mina86@mina86.com>2016-02-23 14:48:05 +1100
committerLars Ingebrigtsen <larsi@gnus.org>2016-02-23 14:48:05 +1100
commitdea946d1bc9ae14d9d9e5c409c9e0d1492ed4f10 (patch)
tree7723e0398a90ab4e5e9bc95e2b349635a9f6ca5c /test/lisp/gnus/message-tests.el
parentd57ca9f8519ac1b0054857ad57653b2bdb1196ea (diff)
downloademacs-dea946d1bc9ae14d9d9e5c409c9e0d1492ed4f10.tar.gz
Test message-strip-subject-trailing-was
* test/lisp/gnus/message-test.el (message-strip-subject-trailing-was): New test (bug#22632).
Diffstat (limited to 'test/lisp/gnus/message-tests.el')
-rw-r--r--test/lisp/gnus/message-tests.el43
1 files changed, 43 insertions, 0 deletions
diff --git a/test/lisp/gnus/message-tests.el b/test/lisp/gnus/message-tests.el
index 3afa1569f64..ae34f24d741 100644
--- a/test/lisp/gnus/message-tests.el
+++ b/test/lisp/gnus/message-tests.el
@@ -55,6 +55,49 @@
(point)))))
(set-buffer-modified-p nil))))
+
+(ert-deftest message-strip-subject-trailing-was ()
+ (ert-with-function-mocked message-talkative-question nil
+ (with-temp-buffer
+ (let ((no-was "Re: Foo ")
+ (with-was "Re: Foo \t (was: Bar ) ")
+ (stripped-was "Re: Foo")
+ reply)
+
+ ;; Test unconditional stripping
+ (setq-local message-subject-trailing-was-query t)
+ (should (string= no-was (message-strip-subject-trailing-was no-was)))
+ (should (string= stripped-was
+ (message-strip-subject-trailing-was with-was)))
+
+ ;; Test asking
+ (setq-local message-subject-trailing-was-query 'ask)
+ (fset 'message-talkative-question
+ (lambda (_ question show text)
+ (should (string= "Strip `(was: <old subject>)' in subject? "
+ question))
+ (should show)
+ (should (string-match
+ (concat
+ "Strip `(was: <old subject>)' in subject "
+ "and use the new one instead\\?\n\n"
+ "Current subject is: \"\\(.*\\)\"\n\n"
+ "New subject would be: \"\\(.*\\)\"\n\n"
+ "See the variable "
+ "`message-subject-trailing-was-query' "
+ "to get rid of this query.")
+ text))
+ (should (string= (match-string 1 text) with-was))
+ (should (string= (match-string 2 text) stripped-was))
+ reply))
+ (message-strip-subject-trailing-was with-was)
+ (should (string= with-was
+ (message-strip-subject-trailing-was with-was)))
+ (setq reply t)
+ (should (string= stripped-was
+ (message-strip-subject-trailing-was with-was)))))))
+
+
(provide 'message-mode-tests)
;;; message-mode-tests.el ends here