aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-16 02:48:18 -0500
committerCraig Jennings <c@cjennings.net>2026-05-16 02:48:18 -0500
commita9a4d8c7148c115a242a7b35d16dd536f9c0c700 (patch)
tree3370202a1fd1a6e8eb7c14984bf602d0d37265d3 /tests
parent1c5a2ebab7c721d795ed9331afdb305fd683e172 (diff)
downloaddotemacs-a9a4d8c7148c115a242a7b35d16dd536f9c0c700.tar.gz
dotemacs-a9a4d8c7148c115a242a7b35d16dd536f9c0c700.zip
refactor(custom-editing): five hygiene fixes from the module-by-module re-review
- Guard `cj/duplicate-line-or-region' when COMMENT is non-nil but the current mode has no `comment-start' (e.g. fundamental-mode). Previously the function silently produced malformed output via `comment-region'; now it signals a clear `user-error'. - Factor the `find-file' advice install in external-open.el into `cj/external-open-install-advice'. Same idempotent shape (remove-then-add) but the intent is named. - Add `cj/--validate-decoration-char' in custom-comments.el and wire it into all six divider / border / box helpers. Rejects multi-char strings, empty strings, and control characters like newline/tab that would corrupt subsequent `M-q' flows. Updated the five nil-decoration ERT tests from `:type 'wrong-type-argument' (the old crash signal from `string-to-char' on nil) to `:type 'user-error', since the validator produces a clear message instead of a deep crash. - Extract `cj/--require-spell-checker' in flyspell-and-abbrev.el. Both `cj/flyspell-toggle' and `cj/flyspell-then-abbrev' now call the shared helper; the checker list lives in `cj/--spell-checker-executables', so adding nuspell or any other checker is a one-line edit. - Preserve trailing newlines in custom-ordering output. Both `cj/--arrayify' and `cj/--unarrayify' now detect a trailing newline on the input region and re-append it to the result, matching the pattern custom-text-enclose.el already uses.
Diffstat (limited to 'tests')
-rw-r--r--tests/test-custom-comments-comment-block-banner.el2
-rw-r--r--tests/test-custom-comments-comment-box.el2
-rw-r--r--tests/test-custom-comments-comment-heavy-box.el2
-rw-r--r--tests/test-custom-comments-comment-inline-border.el6
-rw-r--r--tests/test-custom-comments-comment-padded-divider.el2
-rw-r--r--tests/test-custom-comments-comment-simple-divider.el2
6 files changed, 9 insertions, 7 deletions
diff --git a/tests/test-custom-comments-comment-block-banner.el b/tests/test-custom-comments-comment-block-banner.el
index 6561ebfa..da0b1fa7 100644
--- a/tests/test-custom-comments-comment-block-banner.el
+++ b/tests/test-custom-comments-comment-block-banner.el
@@ -194,7 +194,7 @@ Returns the buffer string for assertions."
"Should error when decoration-char is nil."
(should-error
(test-block-banner-at-column 0 "/*" "*/" nil "Header" 70)
- :type 'wrong-type-argument))
+ :type 'user-error))
(ert-deftest test-block-banner-c-nil-text ()
"Should error when text is nil."
diff --git a/tests/test-custom-comments-comment-box.el b/tests/test-custom-comments-comment-box.el
index 10b1a67d..d7ee2830 100644
--- a/tests/test-custom-comments-comment-box.el
+++ b/tests/test-custom-comments-comment-box.el
@@ -203,7 +203,7 @@ Returns the buffer string for assertions."
"Should error when decoration-char is nil."
(should-error
(test-comment-box-at-column 0 ";;" "" nil "Header" 70)
- :type 'wrong-type-argument))
+ :type 'user-error))
(ert-deftest test-comment-box-elisp-non-integer-length ()
"Should error when length is not an integer."
diff --git a/tests/test-custom-comments-comment-heavy-box.el b/tests/test-custom-comments-comment-heavy-box.el
index 30289625..94d4aaa5 100644
--- a/tests/test-custom-comments-comment-heavy-box.el
+++ b/tests/test-custom-comments-comment-heavy-box.el
@@ -207,7 +207,7 @@ Returns the buffer string for assertions."
"Should error when decoration-char is nil."
(should-error
(test-heavy-box-at-column 0 ";;" "" nil "Header" 70)
- :type 'wrong-type-argument))
+ :type 'user-error))
(ert-deftest test-heavy-box-elisp-nil-text ()
"Should error when text is nil."
diff --git a/tests/test-custom-comments-comment-inline-border.el b/tests/test-custom-comments-comment-inline-border.el
index ca2bef06..78e86035 100644
--- a/tests/test-custom-comments-comment-inline-border.el
+++ b/tests/test-custom-comments-comment-inline-border.el
@@ -190,10 +190,12 @@ Returns the buffer string for assertions."
:type 'error))
(ert-deftest test-inline-border-elisp-nil-decoration ()
- "Should error when decoration-char is nil."
+ "Should error when decoration-char is nil.
+The decoration-char validator signals `user-error' for any non-printable
+or non-single-character input."
(should-error
(test-inline-border-at-column 0 ";;" "" nil "Header" 70)
- :type 'wrong-type-argument))
+ :type 'user-error))
(ert-deftest test-inline-border-elisp-non-integer-length ()
"Should error when length is not an integer."
diff --git a/tests/test-custom-comments-comment-padded-divider.el b/tests/test-custom-comments-comment-padded-divider.el
index 702a4c67..d4c18905 100644
--- a/tests/test-custom-comments-comment-padded-divider.el
+++ b/tests/test-custom-comments-comment-padded-divider.el
@@ -200,7 +200,7 @@ Returns the buffer string for assertions."
"Should error when decoration-char is nil."
(should-error
(test-padded-divider-at-column 0 ";;" "" nil "Header" 70 2)
- :type 'wrong-type-argument))
+ :type 'user-error))
(ert-deftest test-padded-divider-elisp-nil-text ()
"Should error when text is nil."
diff --git a/tests/test-custom-comments-comment-simple-divider.el b/tests/test-custom-comments-comment-simple-divider.el
index a61e6b4c..7979f18b 100644
--- a/tests/test-custom-comments-comment-simple-divider.el
+++ b/tests/test-custom-comments-comment-simple-divider.el
@@ -195,7 +195,7 @@ Returns the buffer string for assertions."
"Should error when decoration-char is nil."
(should-error
(test-simple-divider-at-column 0 ";;" "" nil "Header" 70)
- :type 'wrong-type-argument))
+ :type 'user-error))
(ert-deftest test-simple-divider-elisp-nil-text ()
"Should error when text is nil."