diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-24 15:31:07 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-24 15:31:07 -0500 |
| commit | 02eee4ddb2f7e4cf4d12d8cdb879b0200e806a5a (patch) | |
| tree | d77876f11425a2411945728234a8b252c457fafc /tests/test-media-utils.el | |
| parent | f11426433afc005cb4a5bce88afbb533d7444792 (diff) | |
| download | dotemacs-02eee4ddb2f7e4cf4d12d8cdb879b0200e806a5a.tar.gz dotemacs-02eee4ddb2f7e4cf4d12d8cdb879b0200e806a5a.zip | |
test: cover markdown-html filter and media-player selector
Two real-logic gaps from the refreshed coverage backlog. cj/markdown-html (markdown-config) is the impatient-mode filter that wraps a source buffer's text in the strapdown HTML shell — tested for normal content and an empty buffer. cj/select-media-player (media-utils) was the one untested function there — tested that choosing an available player updates cj/default-media-player and that a non-matching selection leaves it unchanged. Both mock at the boundary (completing-read, the source buffer).
Diffstat (limited to 'tests/test-media-utils.el')
| -rw-r--r-- | tests/test-media-utils.el | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/test-media-utils.el b/tests/test-media-utils.el index 85ee826f3..9384d568f 100644 --- a/tests/test-media-utils.el +++ b/tests/test-media-utils.el @@ -101,5 +101,31 @@ (should (member "yt-dlp" captured)) (should (member "https://example.com/v" captured)))) +;; ---------------------------- cj/select-media-player ------------------------- + +(ert-deftest test-media-select-player-normal-sets-default-on-choice () + "Normal: choosing an available player updates `cj/default-media-player'." + (let ((cj/media-players '((mpv . (:name "mpv" :command "mpv")) + (vlc . (:name "VLC" :command "vlc")))) + (cj/default-media-player 'vlc)) + (cl-letf (((symbol-function 'cj/get-available-media-players) + (lambda () '(mpv vlc))) + ((symbol-function 'completing-read) (lambda (&rest _) "mpv")) + ((symbol-function 'message) #'ignore)) + (cj/select-media-player) + (should (eq cj/default-media-player 'mpv))))) + +(ert-deftest test-media-select-player-boundary-no-match-keeps-default () + "Boundary: a selection matching no player leaves the default unchanged." + (let ((cj/media-players '((mpv . (:name "mpv" :command "mpv")) + (vlc . (:name "VLC" :command "vlc")))) + (cj/default-media-player 'vlc)) + (cl-letf (((symbol-function 'cj/get-available-media-players) + (lambda () '(mpv vlc))) + ((symbol-function 'completing-read) (lambda (&rest _) "Nonexistent")) + ((symbol-function 'message) #'ignore)) + (cj/select-media-player) + (should (eq cj/default-media-player 'vlc))))) + (provide 'test-media-utils) ;;; test-media-utils.el ends here |
