[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/persist 70e38893b0 1/4: Add test-persist-save macro
From: |
ELPA Syncer |
Subject: |
[elpa] externals/persist 70e38893b0 1/4: Add test-persist-save macro |
Date: |
Tue, 5 Sep 2023 15:58:27 -0400 (EDT) |
branch: externals/persist
commit 70e38893b04e23780ba5d1f5afca8a2b1ed277d9
Author: Joseph Turner <joseph@breatheoutbreathe.in>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>
Add test-persist-save macro
* test/persist-tests.el (persist-test-persist-save):
Consolidate logic of test-persist-save and
test-persist-save-non-number.
(test-persist-save-number test-persist-save-string): Simple wrappers
over persist-test-persist-save
---
test/persist-tests.el | 76 ++++++++++++++++++++++-----------------------------
1 file changed, 33 insertions(+), 43 deletions(-)
diff --git a/test/persist-tests.el b/test/persist-tests.el
index b6645a9297..f2b04769ef 100644
--- a/test/persist-tests.el
+++ b/test/persist-tests.el
@@ -25,51 +25,41 @@
:type 'error
:exclude-subtypes t))
-(ert-deftest test-persist-save ()
- (with-local-temp-persist
- (let ((sym (cl-gensym)))
- ;; precondition
- (should-not (file-exists-p (persist--file-location sym)))
- (set sym 10)
- (persist-symbol sym 10)
- (persist-save sym)
- (should t)
- (should-not (file-exists-p (persist--file-location sym)))
- (set sym 20)
- (persist-save sym)
- (should (file-exists-p (persist--file-location sym)))
- (should
- (string-match-p
- "20"
- (with-temp-buffer
- (insert-file-contents (persist--file-location sym))
- (buffer-string))))
- (set sym 10)
- (persist-save sym)
- (should-not (file-exists-p (persist--file-location sym)))
- (should-error
- (persist-save 'fred)))))
+(defmacro persist-test-persist-save (init default change printed-changed)
+ "Test persisting symbols.
+- symbol is not persisted when value is set to INIT and default
+ value is set to DEFAULT.
+- symbol is persisted when value is changed according to CHANGE.
+- persisted file contents match PRINTED-CHANGED.
+- symbol is not persisted after value is set back to DEFAULT."
+ `(with-local-temp-persist
+ (let ((sym (cl-gensym)))
+ (should-not (file-exists-p (persist--file-location sym)))
+ (set sym ,init)
+ (persist-symbol sym ,default)
+ (persist-save sym)
+ (should t)
+ (should-not (file-exists-p (persist--file-location sym)))
+ ,change
+ (persist-save sym)
+ (should (file-exists-p (persist--file-location sym)))
+ (should
+ (string-match-p
+ ,printed-changed
+ (with-temp-buffer
+ (insert-file-contents (persist--file-location sym))
+ (buffer-string))))
+ (set sym ,default)
+ (persist-save sym)
+ (should-not (file-exists-p (persist--file-location sym))))))
-(ert-deftest test-persist-save-non-number ()
- "Test saving something that is not a number.
+(ert-deftest test-persist-save-number ()
+ "Test saving number."
+ (persist-test-persist-save 1 1 (set sym 2) "2"))
-`test-persist-save' missed "
- (with-local-temp-persist
- (let ((sym (cl-gensym)))
- (set sym "fred")
- (persist-symbol sym "fred")
- (persist-save sym)
- (should t)
- (should-not (file-exists-p (persist--file-location sym)))
- (set sym "george")
- (persist-save sym)
- (should (file-exists-p (persist--file-location sym)))
- (should
- (string-match-p
- "george"
- (with-temp-buffer
- (insert-file-contents (persist--file-location sym))
- (buffer-string)))))))
+(ert-deftest test-persist-save-string ()
+ "Test saving string."
+ (persist-test-persist-save "foo" "foo" (set sym "bar") "bar"))
(ert-deftest test-persist-load ()
(with-local-temp-persist