diff options
| author | Mattias EngdegÄrd | 2023-02-26 14:34:58 +0100 |
|---|---|---|
| committer | Mattias EngdegÄrd | 2023-02-27 10:03:23 +0100 |
| commit | 434ab2e08895bdf952de78aea285da33be63c954 (patch) | |
| tree | 07a09150928f785f3eacd9fc3ea5ca824c338d42 /test | |
| parent | c640dc9ef533c1fa68cf7b29f63a3fb32e4c3b06 (diff) | |
| download | emacs-434ab2e08895bdf952de78aea285da33be63c954.tar.gz emacs-434ab2e08895bdf952de78aea285da33be63c954.zip | |
Improve delete-consecutive-dups doc precision and add test
* lisp/subr.el (delete-consecutive-dups): Document which element of
each run is retained (the earliest in the list). This matters because
it makes it safe to ignore the return value.
* test/lisp/subr-tests.el (subr--delete-dups)
(subr--delete-consecutive-dups): Add tests.
Diffstat (limited to 'test')
| -rw-r--r-- | test/lisp/subr-tests.el | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/test/lisp/subr-tests.el b/test/lisp/subr-tests.el index d5efabc1370..050ee22ac18 100644 --- a/test/lisp/subr-tests.el +++ b/test/lisp/subr-tests.el | |||
| @@ -1171,5 +1171,39 @@ final or penultimate step during initialization.")) | |||
| 1171 | (should-not (list-of-strings-p '("a" nil "b"))) | 1171 | (should-not (list-of-strings-p '("a" nil "b"))) |
| 1172 | (should-not (list-of-strings-p '("a" "b" . "c")))) | 1172 | (should-not (list-of-strings-p '("a" "b" . "c")))) |
| 1173 | 1173 | ||
| 1174 | (ert-deftest subr--delete-dups () | ||
| 1175 | (should (equal (delete-dups nil) nil)) | ||
| 1176 | (let* ((a (list "a" "b" "c")) | ||
| 1177 | (a-dedup (delete-dups a))) | ||
| 1178 | (should (equal a-dedup '("a" "b" "c"))) | ||
| 1179 | (should (eq a a-dedup))) | ||
| 1180 | (let* ((a (list "a" "a" "b" "b" "a" "c" "b" "c" "a")) | ||
| 1181 | (a-b (cddr a)) ; link of first "b" | ||
| 1182 | (a-dedup (delete-dups a))) | ||
| 1183 | (should (equal a-dedup '("a" "b" "c"))) | ||
| 1184 | (should (eq a a-dedup)) | ||
| 1185 | (should (eq (cdr a-dedup) a-b)))) | ||
| 1186 | |||
| 1187 | (ert-deftest subr--delete-consecutive-dups () | ||
| 1188 | (should (equal (delete-consecutive-dups nil) nil)) | ||
| 1189 | (let* ((a (list "a" "b" "c")) | ||
| 1190 | (a-dedup (delete-consecutive-dups a))) | ||
| 1191 | (should (equal a-dedup '("a" "b" "c"))) | ||
| 1192 | (should (eq a a-dedup))) | ||
| 1193 | (let* ((a (list "a" "a" "b" "a" "a" "b" "b" "b" "c" "c" "a" "a")) | ||
| 1194 | (a-b (nthcdr 3 a)) ; link of third "a" | ||
| 1195 | (a-dedup (delete-consecutive-dups a))) | ||
| 1196 | (should (equal a-dedup '("a" "b" "a" "b" "c" "a"))) | ||
| 1197 | (should (eq a a-dedup)) | ||
| 1198 | (should (equal (nthcdr 2 a-dedup) a-b))) | ||
| 1199 | (let* ((a (list "a" "b" "a")) | ||
| 1200 | (a-dedup (delete-consecutive-dups a t))) | ||
| 1201 | (should (equal a-dedup '("a" "b"))) | ||
| 1202 | (should (eq a a-dedup))) | ||
| 1203 | (let* ((a (list "a" "a" "b" "a" "a" "b" "b" "b" "c" "c" "a" "a")) | ||
| 1204 | (a-dedup (delete-consecutive-dups a t))) | ||
| 1205 | (should (equal a-dedup '("a" "b" "a" "b" "c"))) | ||
| 1206 | (should (eq a a-dedup)))) | ||
| 1207 | |||
| 1174 | (provide 'subr-tests) | 1208 | (provide 'subr-tests) |
| 1175 | ;;; subr-tests.el ends here | 1209 | ;;; subr-tests.el ends here |