emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/devil 4e84d689a8: Test devil--log does not evaluate args i


From: ELPA Syncer
Subject: [nongnu] elpa/devil 4e84d689a8: Test devil--log does not evaluate args if disabled
Date: Mon, 5 Jun 2023 19:00:13 -0400 (EDT)

branch: elpa/devil
commit 4e84d689a8a059f1309a02bf686f2d81c351e05f
Author: Susam Pal <susam@susam.net>
Commit: Susam Pal <susam@susam.net>

    Test devil--log does not evaluate args if disabled
---
 devil-tests.el | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/devil-tests.el b/devil-tests.el
index 59471717ea..c2d31c8862 100644
--- a/devil-tests.el
+++ b/devil-tests.el
@@ -11,6 +11,54 @@
 (require 'devil)
 
 
+;;; Customization ====================================================
+
+(ert-deftest devil-log ()
+  "Test if `devil--log' works as expected."
+  ;; When logging is disabled, message is not called.
+  (unwind-protect
+      (let ((devil-logging nil)
+            (count 0))
+        (advice-add 'message :override
+                    (lambda (&rest args) (setq count (1+ count)))
+                    '((name . message-override)))
+        (devil--log "foo")
+        (should (= count 0)))
+    (advice-remove 'message 'message-override))
+  ;; When logging is enabled, message is called.
+  (unwind-protect
+      (let ((devil-logging t)
+            (count 0))
+        (advice-add 'message :override
+                    (lambda (&rest args) (setq count (1+ count)))
+                    '((name . message-override)))
+        (devil--log "foo")
+        (should (= count 1)))
+    (advice-remove 'message 'message-override))
+  ;; When logging is disabled, logging arguments are not evaluated.
+  (unwind-protect
+      (let ((devil-logging nil)
+            (count 0))
+        (advice-add 'message :override (lambda (&rest args))
+                    '((name . message-override)))
+        (devil--log (progn (setq count (1+ count)) "foo")
+                    (progn (setq count (1+ count)))
+                    (progn (setq count (1+ count))))
+        (should (= count 0)))
+    (advice-remove 'message 'message-override))
+  ;; When logging is enabled, logging arguments are evaluated.
+  (unwind-protect
+      (let ((devil-logging t)
+            (count 0))
+        (advice-add 'message :override (lambda (&rest args))
+                    '((name . message-override)))
+        (devil--log (progn (setq count (1+ count)) "foo")
+                    (progn (setq count (1+ count)))
+                    (progn (setq count (1+ count))))
+        (should (= count 3)))
+    (advice-remove 'message 'message-override)))
+
+
 ;;; Command Lookup ===================================================
 
 (ert-deftest devil-incomplete-key-p ()



reply via email to

[Prev in Thread] Current Thread [Next in Thread]