summaryrefslogtreecommitdiff
path: root/tests/test-custom-text-enclose-append.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2025-11-14 02:31:16 -0600
committerCraig Jennings <c@cjennings.net>2025-11-14 02:31:16 -0600
commit9d55ed149e100b4fb3ef6f5a79d263dcb26ce835 (patch)
treeb02a77b84849f15b4302fda8f3f8e3942cb253ac /tests/test-custom-text-enclose-append.el
parent7b982b1984dd37af42a2dfc9f4c3e52b27102860 (diff)
checking in modified/removed tests and other misc changes
Diffstat (limited to 'tests/test-custom-text-enclose-append.el')
-rw-r--r--tests/test-custom-text-enclose-append.el190
1 files changed, 0 insertions, 190 deletions
diff --git a/tests/test-custom-text-enclose-append.el b/tests/test-custom-text-enclose-append.el
deleted file mode 100644
index 3593a7f5..00000000
--- a/tests/test-custom-text-enclose-append.el
+++ /dev/null
@@ -1,190 +0,0 @@
-;;; test-custom-text-enclose-append.el --- Tests for cj/--append-to-lines -*- lexical-binding: t; -*-
-
-;;; Commentary:
-;; Tests for the cj/--append-to-lines function from custom-text-enclose.el
-;;
-;; This function appends a suffix string to the end of each line in text.
-;; It preserves the structure of lines and handles trailing newlines correctly.
-;;
-;; Examples:
-;; Input: "line1\nline2", suffix: ";"
-;; Output: "line1;\nline2;"
-;;
-;; Input: "single", suffix: "!"
-;; Output: "single!"
-;;
-;; We test the NON-INTERACTIVE implementation (cj/--append-to-lines) to avoid
-;; mocking region selection. This follows our testing best practice of
-;; separating business logic from UI interaction.
-
-;;; Code:
-
-(require 'ert)
-(require 'testutil-general)
-
-;; Add modules directory to load path
-(add-to-list 'load-path (expand-file-name "modules" user-emacs-directory))
-
-;; Stub dependencies before loading the module
-(defvar cj/custom-keymap (make-sparse-keymap)
- "Stub keymap for testing.")
-
-;; Now load the actual production module
-(require 'custom-text-enclose)
-
-;;; Test Helpers
-
-(defun test-append-to-lines (text suffix)
- "Test cj/--append-to-lines on TEXT with SUFFIX.
-Returns the transformed string."
- (cj/--append-to-lines text suffix))
-
-;;; Normal Cases - Single Line
-
-(ert-deftest test-append-single-line ()
- "Should append to single line."
- (let ((result (test-append-to-lines "hello" ";")))
- (should (string= result "hello;"))))
-
-(ert-deftest test-append-single-line-semicolon ()
- "Should append semicolon to single line."
- (let ((result (test-append-to-lines "var x = 5" ";")))
- (should (string= result "var x = 5;"))))
-
-(ert-deftest test-append-single-line-exclamation ()
- "Should append exclamation mark to single line."
- (let ((result (test-append-to-lines "Hello world" "!")))
- (should (string= result "Hello world!"))))
-
-;;; Normal Cases - Multiple Lines
-
-(ert-deftest test-append-two-lines ()
- "Should append to two lines."
- (let ((result (test-append-to-lines "line1\nline2" ";")))
- (should (string= result "line1;\nline2;"))))
-
-(ert-deftest test-append-three-lines ()
- "Should append to three lines."
- (let ((result (test-append-to-lines "a\nb\nc" ".")))
- (should (string= result "a.\nb.\nc."))))
-
-(ert-deftest test-append-many-lines ()
- "Should append to many lines."
- (let* ((lines (make-list 10 "line"))
- (input (mapconcat #'identity lines "\n"))
- (result (test-append-to-lines input ";"))
- (result-lines (split-string result "\n")))
- (should (= 10 (length result-lines)))
- (should (cl-every (lambda (line) (string-suffix-p ";" line)) result-lines))))
-
-;;; Normal Cases - Various Suffixes
-
-(ert-deftest test-append-comma ()
- "Should append comma to lines."
- (let ((result (test-append-to-lines "apple\nbanana" ",")))
- (should (string= result "apple,\nbanana,"))))
-
-(ert-deftest test-append-multi-char ()
- "Should append multi-character suffix."
- (let ((result (test-append-to-lines "line" " // comment")))
- (should (string= result "line // comment"))))
-
-(ert-deftest test-append-pipe ()
- "Should append pipe character."
- (let ((result (test-append-to-lines "col1\ncol2" " |")))
- (should (string= result "col1 |\ncol2 |"))))
-
-(ert-deftest test-append-empty-suffix ()
- "Should handle empty suffix."
- (let ((result (test-append-to-lines "line1\nline2" "")))
- (should (string= result "line1\nline2"))))
-
-;;; Boundary Cases - Trailing Newlines
-
-(ert-deftest test-append-with-trailing-newline ()
- "Should preserve trailing newline."
- (let ((result (test-append-to-lines "line1\nline2\n" ";")))
- (should (string= result "line1;\nline2;\n"))))
-
-(ert-deftest test-append-no-trailing-newline ()
- "Should work without trailing newline."
- (let ((result (test-append-to-lines "line1\nline2" ";")))
- (should (string= result "line1;\nline2;"))))
-
-(ert-deftest test-append-single-line-with-newline ()
- "Should preserve trailing newline on single line."
- (let ((result (test-append-to-lines "line\n" ";")))
- (should (string= result "line;\n"))))
-
-;;; Boundary Cases - Empty Lines
-
-(ert-deftest test-append-empty-line-between ()
- "Should append to empty line between other lines."
- (let ((result (test-append-to-lines "line1\n\nline3" ";")))
- (should (string= result "line1;\n;\nline3;"))))
-
-(ert-deftest test-append-only-empty-lines ()
- "Should append to only empty lines."
- (let ((result (test-append-to-lines "\n\n" ";")))
- (should (string= result ";\n;\n"))))
-
-(ert-deftest test-append-empty-first-line ()
- "Should append to empty first line."
- (let ((result (test-append-to-lines "\nline2\nline3" ";")))
- (should (string= result ";\nline2;\nline3;"))))
-
-;;; Boundary Cases - Whitespace
-
-(ert-deftest test-append-preserves-leading-whitespace ()
- "Should preserve leading whitespace."
- (let ((result (test-append-to-lines " line1\n line2" ";")))
- (should (string= result " line1;\n line2;"))))
-
-(ert-deftest test-append-preserves-trailing-whitespace ()
- "Should preserve trailing whitespace on line."
- (let ((result (test-append-to-lines "line1 \nline2 " ";")))
- (should (string= result "line1 ;\nline2 ;"))))
-
-(ert-deftest test-append-whitespace-only-line ()
- "Should append to whitespace-only line."
- (let ((result (test-append-to-lines "line1\n \nline3" ";")))
- (should (string= result "line1;\n ;\nline3;"))))
-
-;;; Boundary Cases - Special Cases
-
-(ert-deftest test-append-empty-string ()
- "Should handle empty string."
- (let ((result (test-append-to-lines "" ";")))
- (should (string= result ";"))))
-
-(ert-deftest test-append-very-long-line ()
- "Should append to very long line."
- (let* ((long-line (make-string 1000 ?a))
- (result (test-append-to-lines long-line ";")))
- (should (string-suffix-p ";" result))
- (should (= (length result) 1001))))
-
-(ert-deftest test-append-with-existing-suffix ()
- "Should append even if line already has the suffix."
- (let ((result (test-append-to-lines "line;" ";")))
- (should (string= result "line;;"))))
-
-;;; Edge Cases - Special Characters in Suffix
-
-(ert-deftest test-append-newline-suffix ()
- "Should append newline as suffix."
- (let ((result (test-append-to-lines "line1\nline2" "\n")))
- (should (string= result "line1\n\nline2\n"))))
-
-(ert-deftest test-append-tab-suffix ()
- "Should append tab as suffix."
- (let ((result (test-append-to-lines "col1\ncol2" "\t")))
- (should (string= result "col1\t\ncol2\t"))))
-
-(ert-deftest test-append-quote-suffix ()
- "Should append quote as suffix."
- (let ((result (test-append-to-lines "value1\nvalue2" "\"")))
- (should (string= result "value1\"\nvalue2\""))))
-
-(provide 'test-custom-text-enclose-append)
-;;; test-custom-text-enclose-append.el ends here