emacs-diffs
[Top][All Lists]
Advanced

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

scratch/sqlite abe8bcd: Add more multisession tests


From: Lars Ingebrigtsen
Subject: scratch/sqlite abe8bcd: Add more multisession tests
Date: Wed, 15 Dec 2021 02:59:10 -0500 (EST)

branch: scratch/sqlite
commit abe8bcd059491f2982731237bb3b271d1e07d7a7
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Add more multisession tests
---
 lisp/emacs-lisp/multisession.el            |  2 +-
 test/lisp/emacs-lisp/multisession-tests.el | 31 ++++++++++++++++++++++++++++++
 2 files changed, 32 insertions(+), 1 deletion(-)

diff --git a/lisp/emacs-lisp/multisession.el b/lisp/emacs-lisp/multisession.el
index 711253b..57122f8 100644
--- a/lisp/emacs-lisp/multisession.el
+++ b/lisp/emacs-lisp/multisession.el
@@ -219,7 +219,7 @@ DOC should be a doc string, and ARGS are keywords as 
applicable to
                  (print-level nil))
              (prin1-to-string value))))
       (condition-case nil
-          (read-from-string pvalue)
+          (ignore (read-from-string pvalue))
         (error (error "Unable to store unreadable value: %s" pvalue)))
       (sqlite-execute
        multisession--db
diff --git a/test/lisp/emacs-lisp/multisession-tests.el 
b/test/lisp/emacs-lisp/multisession-tests.el
index 0ad61b3..41fcde0 100644
--- a/test/lisp/emacs-lisp/multisession-tests.el
+++ b/test/lisp/emacs-lisp/multisession-tests.el
@@ -167,4 +167,35 @@
       (message "sbar ends up as %s" (multisession-value sbar))
       (should (< (multisession-value sbar) 2000)))))
 
+(ert-deftest multi-test-files-some-values ()
+  (ert-with-temp-file dir
+    :directory t
+    (let ((user-init-file "/tmp/sfoo.el")
+          (multisession-storage 'files)
+          (multisession-directory dir))
+      (define-multisession-variable foo1 nil)
+      (should (eq (multisession-value foo1) nil))
+      (setf (multisession-value foo1) nil)
+      (should (eq (multisession-value foo1) nil))
+      (setf (multisession-value foo1) t)
+      (should (eq (multisession-value foo1) t))
+
+      (define-multisession-variable foo2 t)
+      (setf (multisession-value foo2) nil)
+      (should (eq (multisession-value foo2) nil))
+      (setf (multisession-value foo2) t)
+      (should (eq (multisession-value foo2) t))
+
+      (define-multisession-variable foo3 t)
+      (should-error (setf (multisession-value foo3) (make-marker)))
+
+      (let ((string (with-temp-buffer
+                      (set-buffer-multibyte nil)
+                      (insert 0 1 2)
+                      (buffer-string))))
+        (should-not (multibyte-string-p string))
+        (define-multisession-variable foo4 nil)
+        (setf (multisession-value foo4) string)
+        (should (equal (multisession-value foo4) string))))))
+
 ;;; multisession-tests.el ends here



reply via email to

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