aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/lisp/emacs-lisp/map-tests.el20
1 files changed, 16 insertions, 4 deletions
diff --git a/test/lisp/emacs-lisp/map-tests.el b/test/lisp/emacs-lisp/map-tests.el
index 885b09be985..4dd67d48d40 100644
--- a/test/lisp/emacs-lisp/map-tests.el
+++ b/test/lisp/emacs-lisp/map-tests.el
@@ -76,13 +76,25 @@ Evaluate BODY for each created map.
76 'b 76 'b
77 '2)))) 77 '2))))
78 78
79(ert-deftest test-map-put () 79(ert-deftest test-map-put! ()
80 (with-maps-do map 80 (with-maps-do map
81 (setf (map-elt map 2) 'hello) 81 (setf (map-elt map 2) 'hello)
82 (should (eq (map-elt map 2) 'hello))) 82 (should (eq (map-elt map 2) 'hello)))
83 (with-maps-do map 83 (with-maps-do map
84 (map-put map 2 'hello) 84 (map-put map 2 'hello)
85 (should (eq (map-elt map 2) 'hello))) 85 (should (eq (map-elt map 2) 'hello)))
86 (with-maps-do map
87 (map-put! map 2 'hello)
88 (should (eq (map-elt map 2) 'hello))
89 (if (not (hash-table-p map))
90 (should-error (map-put! map 5 'value)
91 ;; For vectors, it could arguably signal
92 ;; map-not-inplace as well, but it currently doesn't.
93 :type (if (listp map)
94 'map-not-inplace
95 'error))
96 (map-put! map 5 'value)
97 (should (eq (map-elt map 5) 'value))))
86 (let ((ht (make-hash-table))) 98 (let ((ht (make-hash-table)))
87 (setf (map-elt ht 2) 'a) 99 (setf (map-elt ht 2) 'a)
88 (should (eq (map-elt ht 2) 100 (should (eq (map-elt ht 2)
@@ -92,7 +104,7 @@ Evaluate BODY for each created map.
92 (should (eq (map-elt alist 2) 104 (should (eq (map-elt alist 2)
93 'a))) 105 'a)))
94 (let ((vec [3 4 5])) 106 (let ((vec [3 4 5]))
95 (should-error (setf (map-elt vec 3) 6)))) 107 (should-error (setf (map-elt vec 3) 6))))
96 108
97(ert-deftest test-map-put-alist-new-key () 109(ert-deftest test-map-put-alist-new-key ()
98 "Regression test for Bug#23105." 110 "Regression test for Bug#23105."
@@ -105,9 +117,9 @@ Evaluate BODY for each created map.
105 (let ((alist (list (cons "a" 1) (cons "b" 2))) 117 (let ((alist (list (cons "a" 1) (cons "b" 2)))
106 ;; Make sure to use a non-eq "a", even when compiled. 118 ;; Make sure to use a non-eq "a", even when compiled.
107 (noneq-key (string ?a))) 119 (noneq-key (string ?a)))
108 (map-put alist noneq-key 3 'equal) 120 (map-put alist noneq-key 3 #'equal)
109 (should-not (cddr alist)) 121 (should-not (cddr alist))
110 (map-put alist noneq-key 9) 122 (map-put alist noneq-key 9 #'eql)
111 (should (cddr alist)))) 123 (should (cddr alist))))
112 124
113(ert-deftest test-map-put-return-value () 125(ert-deftest test-map-put-return-value ()