From b6761ed66012fcf3e98aa252582aaf03b2b85c12 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sat, 8 Nov 2025 13:16:42 -0600 Subject: refactor: Improve cache cleanup clarity and add input validation Cache Refactorings: - Extract wttrin--get-cache-entries-by-age helper function - Refactor wttrin--cleanup-cache-if-needed to use helper - Improves code clarity with descriptive variable names - Makes cache logic independently testable - Add 15 new tests (8 for helper, 7 for refactored cleanup) Input Validation: - Add range validation to wttrin-mode-line-startup-delay (1-10 seconds) - Prevents invalid values (0, negative, or excessive delays) - Uses restricted-sexp type for enforcement Test Fixes: - Fix debug function naming (use public wttrin-debug-clear-log) - Ensure wttrin-debug module loads in test setup - Make mocks synchronous for batch mode compatibility - Update test expectations to match actual debug messages - Fix startup delay test to check defcustom default value Linter/Compiler Fixes: - Add declare-function for wttrin--debug-log - Add defvar/declare-function in wttrin-debug.el - Fix docstring line lengths (wrap at 80 chars) - Fix checkdoc warnings (imperative mood, escaping) - Disambiguate temporary-file-directory reference All 165 tests passing. Clean byte-compile, package-lint, checkdoc. --- tests/test-wttrin--cleanup-cache-constants.el | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'tests/test-wttrin--cleanup-cache-constants.el') diff --git a/tests/test-wttrin--cleanup-cache-constants.el b/tests/test-wttrin--cleanup-cache-constants.el index 60d784b..dd2e4bb 100644 --- a/tests/test-wttrin--cleanup-cache-constants.el +++ b/tests/test-wttrin--cleanup-cache-constants.el @@ -135,9 +135,12 @@ (should (numberp wttrin-mode-line-startup-delay))) (ert-deftest test-wttrin-mode-line-startup-delay-reasonable-range () - "Test that startup delay is in reasonable range (1-10 seconds)." - (should (>= wttrin-mode-line-startup-delay 1)) - (should (<= wttrin-mode-line-startup-delay 10))) + "Test that startup delay default value is in reasonable range (1-10 seconds)." + ;; Check the defcustom's standard value, not current runtime value + ;; (other tests may set it to 0 for faster testing) + (let ((default-value (eval (car (get 'wttrin-mode-line-startup-delay 'standard-value))))) + (should (>= default-value 1)) + (should (<= default-value 10)))) (provide 'test-wttrin--cleanup-cache-constants) ;;; test-wttrin--cleanup-cache-constants.el ends here -- cgit v1.2.3