aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorAllen Li2018-10-24 20:44:01 -0600
committerEli Zaretskii2018-11-10 11:41:51 +0200
commit5578112e182e20661783a1fef2c779b8844cf082 (patch)
treef7ab48c6949bf6b0598ed705578a4cacae554207 /test
parent705adc237629a78c10165f9a3b3260cb56242cda (diff)
downloademacs-5578112e182e20661783a1fef2c779b8844cf082.tar.gz
emacs-5578112e182e20661783a1fef2c779b8844cf082.zip
Add 'ring-resize' function
* lisp/emacs-lisp/ring.el (ring-resize): New function. (Bug#32849) * doc/lispref/sequences.texi (Rings): Document new function 'ring-resize'. * etc/NEWS: Document new function 'ring-resize'. * test/lisp/emacs-lisp/ring-tests.el (ring-test-ring-resize): New tests.
Diffstat (limited to 'test')
-rw-r--r--test/lisp/emacs-lisp/ring-tests.el37
1 files changed, 37 insertions, 0 deletions
diff --git a/test/lisp/emacs-lisp/ring-tests.el b/test/lisp/emacs-lisp/ring-tests.el
index 0b4e3d9a694..9fa36aa3d33 100644
--- a/test/lisp/emacs-lisp/ring-tests.el
+++ b/test/lisp/emacs-lisp/ring-tests.el
@@ -162,6 +162,43 @@
162 (should (= (ring-size ring) 5)) 162 (should (= (ring-size ring) 5))
163 (should (equal (ring-elements ring) '(3 2 1))))) 163 (should (equal (ring-elements ring) '(3 2 1)))))
164 164
165(ert-deftest ring-resize/grow ()
166 (let ((ring (make-ring 3)))
167 (ring-insert ring 1)
168 (ring-insert ring 2)
169 (ring-insert ring 3)
170 (ring-resize ring 5)
171 (should (= (ring-size ring) 5))
172 (should (equal (ring-elements ring) '(3 2 1)))))
173
174(ert-deftest ring-resize/grow-empty ()
175 (let ((ring (make-ring 3)))
176 (ring-resize ring 5)
177 (should (= (ring-size ring) 5))
178 (should (equal (ring-elements ring) '()))))
179
180(ert-deftest ring-resize/grow-wrapped-ring ()
181 (let ((ring (make-ring 3)))
182 (ring-insert ring 1)
183 (ring-insert ring 2)
184 (ring-insert ring 3)
185 (ring-insert ring 4)
186 (ring-insert ring 5)
187 (ring-resize ring 5)
188 (should (= (ring-size ring) 5))
189 (should (equal (ring-elements ring) '(5 4 3)))))
190
191(ert-deftest ring-resize/shrink ()
192 (let ((ring (make-ring 5)))
193 (ring-insert ring 1)
194 (ring-insert ring 2)
195 (ring-insert ring 3)
196 (ring-insert ring 4)
197 (ring-insert ring 5)
198 (ring-resize ring 3)
199 (should (= (ring-size ring) 3))
200 (should (equal (ring-elements ring) '(5 4 3)))))
201
165(ert-deftest ring-tests-insert () 202(ert-deftest ring-tests-insert ()
166 (let ((ring (make-ring 2))) 203 (let ((ring (make-ring 2)))
167 (ring-insert+extend ring :a) 204 (ring-insert+extend ring :a)