From abe8bcd059491f2982731237bb3b271d1e07d7a7 Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Wed, 15 Dec 2021 08:59:00 +0100 Subject: 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 711253bc514..57122f89153 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 0ad61b33e3d..41fcde04f21 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 -- cgit v1.2.1