summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorEarl Hyatt <okamsn@protonmail.com>2021-08-14 14:17:12 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2021-08-14 14:17:12 +0200
commitc58f8dda2b2282302cf47ef3e7df6523bde606f5 (patch)
treeca39c4f866e2d1dfac5efbe94e7684790c65cbb8 /test
parentadb6c3f1a4cc5ec3d26bfb2311dfc87b965153a0 (diff)
downloademacs-c58f8dda2b2282302cf47ef3e7df6523bde606f5.tar.gz
Add macro `seq-setq`.
* doc/lispref/sequences.texi (seq-setq): Document this macro. * lisp/emacs-lisp/seq.el (seq-setq): New macro. * test/lisp/emacs-lisp/seq-tests.el (test-seq-setq): Test this macro (bug#50053).
Diffstat (limited to 'test')
-rw-r--r--test/lisp/emacs-lisp/seq-tests.el24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/lisp/emacs-lisp/seq-tests.el b/test/lisp/emacs-lisp/seq-tests.el
index 05c7fbe781e..44e855e2cfa 100644
--- a/test/lisp/emacs-lisp/seq-tests.el
+++ b/test/lisp/emacs-lisp/seq-tests.el
@@ -383,6 +383,30 @@ Evaluate BODY for each created sequence.
(should (null b))
(should (null c)))))
+(ert-deftest test-seq-setq ()
+ (with-test-sequences (seq '(1 2 3 4))
+ (let (a b c d e)
+ (seq-setq (a b c d e) seq)
+ (should (= a 1))
+ (should (= b 2))
+ (should (= c 3))
+ (should (= d 4))
+ (should (null e)))
+ (let (a b others)
+ (seq-setq (a b &rest others) seq)
+ (should (= a 1))
+ (should (= b 2))
+ (should (same-contents-p others (seq-drop seq 2)))))
+ (let ((a)
+ (seq '(1 (2 (3 (4))))))
+ (seq-setq (_ (_ (_ (a)))) seq)
+ (should (= a 4)))
+ (let (seq a b c)
+ (seq-setq (a b c) seq)
+ (should (null a))
+ (should (null b))
+ (should (null c))))
+
(ert-deftest test-seq-min-max ()
(with-test-sequences (seq '(4 5 3 2 0 4))
(should (= (seq-min seq) 0))