summaryrefslogtreecommitdiff
path: root/tests/test-music-config--valid-directory-p.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-music-config--valid-directory-p.el
parent7b982b1984dd37af42a2dfc9f4c3e52b27102860 (diff)
checking in modified/removed tests and other misc changes
Diffstat (limited to 'tests/test-music-config--valid-directory-p.el')
-rw-r--r--tests/test-music-config--valid-directory-p.el139
1 files changed, 0 insertions, 139 deletions
diff --git a/tests/test-music-config--valid-directory-p.el b/tests/test-music-config--valid-directory-p.el
deleted file mode 100644
index 21c2b240..00000000
--- a/tests/test-music-config--valid-directory-p.el
+++ /dev/null
@@ -1,139 +0,0 @@
-;;; test-music-config--valid-directory-p.el --- Tests for directory validation -*- coding: utf-8; lexical-binding: t; -*-
-;;
-;; Author: Craig Jennings <c@cjennings.net>
-;;
-;;; Commentary:
-;; Unit tests for cj/music--valid-directory-p function.
-;; Tests the pure helper that validates non-hidden directories.
-;;
-;; Test organization:
-;; - Normal Cases: Valid visible directories
-;; - Boundary Cases: Trailing slashes, dots in names, hidden directories
-;; - Error Cases: Files (not dirs), nonexistent paths, nil input
-;;
-;;; Code:
-
-(require 'ert)
-(require 'testutil-general)
-
-;; Stub missing dependencies before loading music-config
-(defvar-keymap cj/custom-keymap
- :doc "Stub keymap for testing")
-
-;; Load production code
-(require 'music-config)
-
-;;; Setup & Teardown
-
-(defun test-music-config--valid-directory-p-setup ()
- "Setup test environment."
- (cj/create-test-base-dir))
-
-(defun test-music-config--valid-directory-p-teardown ()
- "Clean up test environment."
- (cj/delete-test-base-dir))
-
-;;; Normal Cases
-
-(ert-deftest test-music-config--valid-directory-p-normal-visible-directory-returns-true ()
- "Validate visible directory returns non-nil."
- (test-music-config--valid-directory-p-setup)
- (unwind-protect
- (let ((test-dir (cj/create-test-subdirectory "testdir")))
- (should (cj/music--valid-directory-p test-dir)))
- (test-music-config--valid-directory-p-teardown)))
-
-(ert-deftest test-music-config--valid-directory-p-normal-nested-directory-returns-true ()
- "Validate nested visible directory returns non-nil."
- (test-music-config--valid-directory-p-setup)
- (unwind-protect
- (let ((test-dir (cj/create-test-subdirectory "testdir/subdir/nested")))
- (should (cj/music--valid-directory-p test-dir)))
- (test-music-config--valid-directory-p-teardown)))
-
-;;; Boundary Cases
-
-(ert-deftest test-music-config--valid-directory-p-boundary-trailing-slash-returns-true ()
- "Validate directory with trailing slash returns non-nil."
- (test-music-config--valid-directory-p-setup)
- (unwind-protect
- (let ((test-dir (cj/create-test-subdirectory "testdir")))
- (should (cj/music--valid-directory-p (file-name-as-directory test-dir))))
- (test-music-config--valid-directory-p-teardown)))
-
-(ert-deftest test-music-config--valid-directory-p-boundary-no-trailing-slash-returns-true ()
- "Validate directory without trailing slash returns non-nil."
- (test-music-config--valid-directory-p-setup)
- (unwind-protect
- (let ((test-dir (cj/create-test-subdirectory "testdir")))
- (should (cj/music--valid-directory-p (directory-file-name test-dir))))
- (test-music-config--valid-directory-p-teardown)))
-
-(ert-deftest test-music-config--valid-directory-p-boundary-dot-in-middle-returns-true ()
- "Validate directory with dot in middle of name returns non-nil."
- (test-music-config--valid-directory-p-setup)
- (unwind-protect
- (let ((test-dir (cj/create-test-subdirectory "my.music.dir")))
- (should (cj/music--valid-directory-p test-dir)))
- (test-music-config--valid-directory-p-teardown)))
-
-(ert-deftest test-music-config--valid-directory-p-boundary-hidden-directory-returns-nil ()
- "Validate hidden directory (starting with dot) returns nil."
- (test-music-config--valid-directory-p-setup)
- (unwind-protect
- (let ((test-dir (cj/create-test-subdirectory ".hidden")))
- (should-not (cj/music--valid-directory-p test-dir)))
- (test-music-config--valid-directory-p-teardown)))
-
-(ert-deftest test-music-config--valid-directory-p-boundary-current-dir-dot-returns-nil ()
- "Validate current directory '.' returns nil (hidden)."
- (test-music-config--valid-directory-p-setup)
- (unwind-protect
- (let ((test-dir (cj/create-test-subdirectory "testdir")))
- ;; Change to test dir and check "."
- (let ((default-directory test-dir))
- (should-not (cj/music--valid-directory-p "."))))
- (test-music-config--valid-directory-p-teardown)))
-
-(ert-deftest test-music-config--valid-directory-p-boundary-parent-dir-dotdot-returns-nil ()
- "Validate parent directory '..' returns nil (hidden)."
- (test-music-config--valid-directory-p-setup)
- (unwind-protect
- (let ((test-dir (cj/create-test-subdirectory "testdir/subdir")))
- ;; Change to subdir and check ".."
- (let ((default-directory test-dir))
- (should-not (cj/music--valid-directory-p ".."))))
- (test-music-config--valid-directory-p-teardown)))
-
-(ert-deftest test-music-config--valid-directory-p-boundary-hidden-subdir-basename-check ()
- "Validate hidden subdirectory returns nil based on basename."
- (test-music-config--valid-directory-p-setup)
- (unwind-protect
- (let ((hidden-dir (cj/create-test-subdirectory "visible/.hidden")))
- (should-not (cj/music--valid-directory-p hidden-dir)))
- (test-music-config--valid-directory-p-teardown)))
-
-;;; Error Cases
-
-(ert-deftest test-music-config--valid-directory-p-error-regular-file-returns-nil ()
- "Validate regular file (not directory) returns nil."
- (test-music-config--valid-directory-p-setup)
- (unwind-protect
- (let ((test-file (cj/create-temp-test-file "testfile-")))
- (should-not (cj/music--valid-directory-p test-file)))
- (test-music-config--valid-directory-p-teardown)))
-
-(ert-deftest test-music-config--valid-directory-p-error-nonexistent-path-returns-nil ()
- "Validate nonexistent path returns nil."
- (should-not (cj/music--valid-directory-p "/nonexistent/path/to/directory")))
-
-(ert-deftest test-music-config--valid-directory-p-error-nil-input-returns-nil ()
- "Validate nil input returns nil gracefully."
- (should-not (cj/music--valid-directory-p nil)))
-
-(ert-deftest test-music-config--valid-directory-p-error-empty-string-returns-nil ()
- "Validate empty string returns nil."
- (should-not (cj/music--valid-directory-p "")))
-
-(provide 'test-music-config--valid-directory-p)
-;;; test-music-config--valid-directory-p.el ends here