aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Ingebrigtsen2021-12-15 08:59:00 +0100
committerLars Ingebrigtsen2021-12-15 08:59:00 +0100
commitabe8bcd059491f2982731237bb3b271d1e07d7a7 (patch)
tree479f4bb4dbc534d0b8101316778a8b9fd4a9e876
parent096d82be9ab71f04e0639e7259095f939832e061 (diff)
downloademacs-abe8bcd059491f2982731237bb3b271d1e07d7a7.tar.gz
emacs-abe8bcd059491f2982731237bb3b271d1e07d7a7.zip
Add more multisession testsscratch/sqlite
-rw-r--r--lisp/emacs-lisp/multisession.el2
-rw-r--r--test/lisp/emacs-lisp/multisession-tests.el31
2 files changed, 32 insertions, 1 deletions
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
219 (print-level nil)) 219 (print-level nil))
220 (prin1-to-string value)))) 220 (prin1-to-string value))))
221 (condition-case nil 221 (condition-case nil
222 (read-from-string pvalue) 222 (ignore (read-from-string pvalue))
223 (error (error "Unable to store unreadable value: %s" pvalue))) 223 (error (error "Unable to store unreadable value: %s" pvalue)))
224 (sqlite-execute 224 (sqlite-execute
225 multisession--db 225 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 @@
167 (message "sbar ends up as %s" (multisession-value sbar)) 167 (message "sbar ends up as %s" (multisession-value sbar))
168 (should (< (multisession-value sbar) 2000))))) 168 (should (< (multisession-value sbar) 2000)))))
169 169
170(ert-deftest multi-test-files-some-values ()
171 (ert-with-temp-file dir
172 :directory t
173 (let ((user-init-file "/tmp/sfoo.el")
174 (multisession-storage 'files)
175 (multisession-directory dir))
176 (define-multisession-variable foo1 nil)
177 (should (eq (multisession-value foo1) nil))
178 (setf (multisession-value foo1) nil)
179 (should (eq (multisession-value foo1) nil))
180 (setf (multisession-value foo1) t)
181 (should (eq (multisession-value foo1) t))
182
183 (define-multisession-variable foo2 t)
184 (setf (multisession-value foo2) nil)
185 (should (eq (multisession-value foo2) nil))
186 (setf (multisession-value foo2) t)
187 (should (eq (multisession-value foo2) t))
188
189 (define-multisession-variable foo3 t)
190 (should-error (setf (multisession-value foo3) (make-marker)))
191
192 (let ((string (with-temp-buffer
193 (set-buffer-multibyte nil)
194 (insert 0 1 2)
195 (buffer-string))))
196 (should-not (multibyte-string-p string))
197 (define-multisession-variable foo4 nil)
198 (setf (multisession-value foo4) string)
199 (should (equal (multisession-value foo4) string))))))
200
170;;; multisession-tests.el ends here 201;;; multisession-tests.el ends here