diff options
| author | Craig Jennings <c@cjennings.net> | 2025-11-14 02:31:16 -0600 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2025-11-14 02:31:16 -0600 |
| commit | 9d55ed149e100b4fb3ef6f5a79d263dcb26ce835 (patch) | |
| tree | b02a77b84849f15b4302fda8f3f8e3942cb253ac /tests/test-custom-whitespace-delete-all.el | |
| parent | 7b982b1984dd37af42a2dfc9f4c3e52b27102860 (diff) | |
checking in modified/removed tests and other misc changes
Diffstat (limited to 'tests/test-custom-whitespace-delete-all.el')
| -rw-r--r-- | tests/test-custom-whitespace-delete-all.el | 150 |
1 files changed, 0 insertions, 150 deletions
diff --git a/tests/test-custom-whitespace-delete-all.el b/tests/test-custom-whitespace-delete-all.el deleted file mode 100644 index 00abb1d4..00000000 --- a/tests/test-custom-whitespace-delete-all.el +++ /dev/null @@ -1,150 +0,0 @@ -;;; test-custom-whitespace-delete-all.el --- Tests for cj/--delete-all-whitespace -*- lexical-binding: t; -*- - -;;; Commentary: -;; Tests for the cj/--delete-all-whitespace function from custom-whitespace.el -;; -;; This function removes ALL whitespace characters from the region: -;; spaces, tabs, newlines, and carriage returns. Useful for creating -;; compact identifiers or removing all formatting. -;; -;; Uses the regexp [ \t\n\r]+ to match all whitespace. -;; -;; We test the NON-INTERACTIVE implementation (cj/--delete-all-whitespace) -;; 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-whitespace) - -;;; Test Helpers - -(defun test-delete-all-whitespace (input-text) - "Test cj/--delete-all-whitespace on INPUT-TEXT. -Returns the buffer string after operation." - (with-temp-buffer - (insert input-text) - (cj/--delete-all-whitespace (point-min) (point-max)) - (buffer-string))) - -;;; Normal Cases - -(ert-deftest test-delete-all-whitespace-single-space () - "Should remove single space." - (let ((result (test-delete-all-whitespace "hello world"))) - (should (string= result "helloworld")))) - -(ert-deftest test-delete-all-whitespace-multiple-spaces () - "Should remove multiple spaces." - (let ((result (test-delete-all-whitespace "hello world"))) - (should (string= result "helloworld")))) - -(ert-deftest test-delete-all-whitespace-tabs () - "Should remove tabs." - (let ((result (test-delete-all-whitespace "hello\tworld"))) - (should (string= result "helloworld")))) - -(ert-deftest test-delete-all-whitespace-newlines () - "Should remove newlines (joining lines)." - (let ((result (test-delete-all-whitespace "hello\nworld"))) - (should (string= result "helloworld")))) - -(ert-deftest test-delete-all-whitespace-mixed () - "Should remove all types of whitespace." - (let ((result (test-delete-all-whitespace "hello \t\n world"))) - (should (string= result "helloworld")))) - -(ert-deftest test-delete-all-whitespace-multiple-words () - "Should remove whitespace from multiple words." - (let ((result (test-delete-all-whitespace "one two three four"))) - (should (string= result "onetwothreefour")))) - -(ert-deftest test-delete-all-whitespace-multiline () - "Should remove all whitespace across multiple lines." - (let ((result (test-delete-all-whitespace "line1\nline2\nline3"))) - (should (string= result "line1line2line3")))) - -(ert-deftest test-delete-all-whitespace-leading-trailing () - "Should remove leading and trailing whitespace." - (let ((result (test-delete-all-whitespace " hello world "))) - (should (string= result "helloworld")))) - -(ert-deftest test-delete-all-whitespace-carriage-returns () - "Should handle carriage returns." - (let ((result (test-delete-all-whitespace "hello\r\nworld"))) - (should (string= result "helloworld")))) - -;;; Boundary Cases - -(ert-deftest test-delete-all-whitespace-empty-string () - "Should handle empty string." - (let ((result (test-delete-all-whitespace ""))) - (should (string= result "")))) - -(ert-deftest test-delete-all-whitespace-no-whitespace () - "Should handle text with no whitespace (no-op)." - (let ((result (test-delete-all-whitespace "helloworld"))) - (should (string= result "helloworld")))) - -(ert-deftest test-delete-all-whitespace-only-whitespace () - "Should delete all content when only whitespace exists." - (let ((result (test-delete-all-whitespace " \t \n "))) - (should (string= result "")))) - -(ert-deftest test-delete-all-whitespace-single-char () - "Should handle single character with surrounding whitespace." - (let ((result (test-delete-all-whitespace " x "))) - (should (string= result "x")))) - -(ert-deftest test-delete-all-whitespace-very-long-text () - "Should handle very long text." - (let ((result (test-delete-all-whitespace "word word word word word word word word"))) - (should (string= result "wordwordwordwordwordwordwordword")))) - -(ert-deftest test-delete-all-whitespace-single-whitespace () - "Should delete single whitespace character." - (let ((result (test-delete-all-whitespace " "))) - (should (string= result "")))) - -(ert-deftest test-delete-all-whitespace-consecutive-newlines () - "Should remove all consecutive newlines." - (let ((result (test-delete-all-whitespace "hello\n\n\nworld"))) - (should (string= result "helloworld")))) - -(ert-deftest test-delete-all-whitespace-complex-structure () - "Should handle complex whitespace patterns." - (let ((result (test-delete-all-whitespace " hello\n\t world \n foo\t\tbar "))) - (should (string= result "helloworldfoobar")))) - -;;; Error Cases - -(ert-deftest test-delete-all-whitespace-start-greater-than-end () - "Should error when start > end." - (should-error - (with-temp-buffer - (insert "hello world") - (cj/--delete-all-whitespace (point-max) (point-min))) - :type 'error)) - -(ert-deftest test-delete-all-whitespace-empty-region () - "Should handle empty region (start == end) without error." - (with-temp-buffer - (insert "hello world") - (let ((pos (/ (+ (point-min) (point-max)) 2))) - (cj/--delete-all-whitespace pos pos) - ;; Should complete without error and not change buffer - (should (string= (buffer-string) "hello world"))))) - -(provide 'test-custom-whitespace-delete-all) -;;; test-custom-whitespace-delete-all.el ends here |
