[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 49aebfe 1/2: Add tests for `map-elt'
From: |
Lars Ingebrigtsen |
Subject: |
master 49aebfe 1/2: Add tests for `map-elt' |
Date: |
Thu, 6 May 2021 07:32:10 -0400 (EDT) |
branch: master
commit 49aebfe93c43b4b7f54b4c45bfb269a381e75836
Author: Matt Armstrong <matt@rfc20.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>
Add tests for `map-elt'
* test/lisp/emacs-lisp/map-tests.el: Add (failing) tests for `map-elt'
(bug#47572).
---
test/lisp/emacs-lisp/map-tests.el | 37 +++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
diff --git a/test/lisp/emacs-lisp/map-tests.el
b/test/lisp/emacs-lisp/map-tests.el
index 67666d8..a04c6be 100644
--- a/test/lisp/emacs-lisp/map-tests.el
+++ b/test/lisp/emacs-lisp/map-tests.el
@@ -476,5 +476,42 @@ Evaluate BODY for each created map."
(list one two))
'(1 2)))))
+(ert-deftest test-map-setf-alist-insert-key ()
+ (let ((alist))
+ (should (equal (setf (map-elt alist 'key) 'value)
+ 'value))
+ (should (equal alist '((key . value))))))
+
+(ert-deftest test-map-setf-alist-overwrite-key ()
+ (let ((alist '((key . value1))))
+ (should (equal (setf (map-elt alist 'key) 'value2)
+ 'value2))
+ (should (equal alist '((key . value2))))))
+
+(ert-deftest test-map-setf-plist-insert-key ()
+ (let ((plist '(key value)))
+ (should (equal (setf (map-elt plist 'key2) 'value2)
+ 'value2))
+ (should (equal plist '(key value key2 value2)))))
+
+(ert-deftest test-map-setf-plist-overwrite-key ()
+ (let ((plist '(key value)))
+ (should (equal (setf (map-elt plist 'key) 'value2)
+ 'value2))
+ (should (equal plist '(key value2)))))
+
+(ert-deftest test-hash-table-setf-insert-key ()
+ (let ((ht (make-hash-table)))
+ (should (equal (setf (map-elt ht 'key) 'value)
+ 'value))
+ (should (equal (map-elt ht 'key) 'value))))
+
+(ert-deftest test-hash-table-setf-overwrite-key ()
+ (let ((ht (make-hash-table)))
+ (puthash 'key 'value1 ht)
+ (should (equal (setf (map-elt ht 'key) 'value2)
+ 'value2))
+ (should (equal (map-elt ht 'key) 'value2))))
+
(provide 'map-tests)
;;; map-tests.el ends here