diff options
| author | Daniel Mendler <mail@daniel-mendler.de> | 2023-01-19 12:51:25 +0100 |
|---|---|---|
| committer | Daniel Mendler <mail@daniel-mendler.de> | 2023-01-19 12:51:25 +0100 |
| commit | cd5d9d5d4aedd214ca820f473db9387e4560f886 (patch) | |
| tree | 96a2b031a2e1382461b6a0b8abce47023dc39740 /compat-tests.el | |
| parent | a64a1f67ec118145187795986e68fb77176d80c4 (diff) | |
Backport pcasefeature/pcase
Seems problematic
Diffstat (limited to 'compat-tests.el')
| -rw-r--r-- | compat-tests.el | 51 |
1 files changed, 49 insertions, 2 deletions
diff --git a/compat-tests.el b/compat-tests.el index 9ff6425..09488bb 100644 --- a/compat-tests.el +++ b/compat-tests.el @@ -1,4 +1,4 @@ -;;; compat-tests.el --- Tests for Compat -*- lexical-binding: t; no-byte-compile: t; -*- +;;; compat-tests.el --- Tests for Compat -*- lexical-binding: t -*- ;; Copyright (C) 2021-2023 Free Software Foundation, Inc. @@ -939,7 +939,7 @@ (insert "first\nsecond\nthird\n") (goto-char 7) (delete-line) - (should (equal (buffer-string) "first\nthird\n")))) + (should-equal (buffer-string) "first\nthird\n"))) (ert-deftest list-of-strings-p () (should-not (list-of-strings-p 1)) @@ -2662,5 +2662,52 @@ (should-equal "*scratch*" (buffer-name (get-scratch-buffer-create))) (should-equal initial-major-mode (buffer-local-value 'major-mode (get-scratch-buffer-create)))) +(ert-deftest pcase-setq () + (should-equal (let (a b) + (pcase-setq a 1 b 2) + (list a b)) + '(1 2)) + + (should-equal (let (a b) + (pcase-setq `((,a) (,b)) '((1) (2))) + (list a b)) + (list 1 2)) + + (should-equal (list nil nil) + (let ((a 'unset) + (b 'unset)) + (pcase-setq `(head ,a ,b) nil) + (list a b))) + + (should-equal (let (a b) + (pcase-setq `[,a ,b] [1 2]) + (list a b)) + '(1 2)) + + (should-error (let (a b) + (pcase-setq `[,a ,b] nil) + (list a b))) + + (should-equal (let (a) + (pcase-setq a 1 `(,a) '(2)) + a) + 2) + + (should-equal (let (array list-item array-copy) + (pcase-setq (or `(,list-item) array) [1 2 3] + array-copy array + ;; This re-sets `array' to nil. + (or `(,list-item) array) '(4)) + (list array array-copy list-item)) + '(nil [1 2 3] 4)) + + (let ((a nil)) + (should-error (pcase-setq a 1 b) + :type '(wrong-number-of-arguments)) + (should-not a)) + + (should-error (pcase-setq a) + :type '(wrong-number-of-arguments))) + (provide 'compat-tests) ;;; compat-tests.el ends here |
