summaryrefslogtreecommitdiff
path: root/tests/test-video-audio-recording-modeline-indicator.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-video-audio-recording-modeline-indicator.el
parent7b982b1984dd37af42a2dfc9f4c3e52b27102860 (diff)
checking in modified/removed tests and other misc changes
Diffstat (limited to 'tests/test-video-audio-recording-modeline-indicator.el')
-rw-r--r--tests/test-video-audio-recording-modeline-indicator.el134
1 files changed, 0 insertions, 134 deletions
diff --git a/tests/test-video-audio-recording-modeline-indicator.el b/tests/test-video-audio-recording-modeline-indicator.el
deleted file mode 100644
index f7f3bbff..00000000
--- a/tests/test-video-audio-recording-modeline-indicator.el
+++ /dev/null
@@ -1,134 +0,0 @@
-;;; test-video-audio-recording-modeline-indicator.el --- Tests for cj/recording-modeline-indicator -*- lexical-binding: t; -*-
-
-;;; Commentary:
-;; Unit tests for cj/recording-modeline-indicator function.
-;; Tests modeline indicator display based on active recording processes.
-
-;;; Code:
-
-(require 'ert)
-
-;; Stub dependencies before loading the module
-(defvar cj/custom-keymap (make-sparse-keymap)
- "Stub keymap for testing.")
-
-;; Now load the actual production module
-(require 'video-audio-recording)
-
-;;; Setup and Teardown
-
-(defun test-modeline-indicator-setup ()
- "Reset process variables before each test."
- (setq cj/audio-recording-ffmpeg-process nil)
- (setq cj/video-recording-ffmpeg-process nil))
-
-(defun test-modeline-indicator-teardown ()
- "Clean up process variables after each test."
- (setq cj/audio-recording-ffmpeg-process nil)
- (setq cj/video-recording-ffmpeg-process nil))
-
-;;; Normal Cases
-
-(ert-deftest test-video-audio-recording-modeline-indicator-normal-no-processes-returns-empty ()
- "Test that indicator returns empty string when no processes are active."
- (test-modeline-indicator-setup)
- (unwind-protect
- (let ((result (cj/recording-modeline-indicator)))
- (should (stringp result))
- (should (equal "" result)))
- (test-modeline-indicator-teardown)))
-
-(ert-deftest test-video-audio-recording-modeline-indicator-normal-audio-only-shows-audio ()
- "Test that indicator shows audio when only audio process is active."
- (test-modeline-indicator-setup)
- (unwind-protect
- (let ((fake-process (make-process :name "test-audio" :command '("sleep" "1000"))))
- (setq cj/audio-recording-ffmpeg-process fake-process)
- (let ((result (cj/recording-modeline-indicator)))
- (should (equal " 🔴Audio " result)))
- (delete-process fake-process))
- (test-modeline-indicator-teardown)))
-
-(ert-deftest test-video-audio-recording-modeline-indicator-normal-video-only-shows-video ()
- "Test that indicator shows video when only video process is active."
- (test-modeline-indicator-setup)
- (unwind-protect
- (let ((fake-process (make-process :name "test-video" :command '("sleep" "1000"))))
- (setq cj/video-recording-ffmpeg-process fake-process)
- (let ((result (cj/recording-modeline-indicator)))
- (should (equal " 🔴Video " result)))
- (delete-process fake-process))
- (test-modeline-indicator-teardown)))
-
-(ert-deftest test-video-audio-recording-modeline-indicator-normal-both-shows-combined ()
- "Test that indicator shows A+V when both processes are active."
- (test-modeline-indicator-setup)
- (unwind-protect
- (let ((audio-proc (make-process :name "test-audio" :command '("sleep" "1000")))
- (video-proc (make-process :name "test-video" :command '("sleep" "1000"))))
- (setq cj/audio-recording-ffmpeg-process audio-proc)
- (setq cj/video-recording-ffmpeg-process video-proc)
- (let ((result (cj/recording-modeline-indicator)))
- (should (equal " 🔴A+V " result)))
- (delete-process audio-proc)
- (delete-process video-proc))
- (test-modeline-indicator-teardown)))
-
-;;; Boundary Cases
-
-(ert-deftest test-video-audio-recording-modeline-indicator-boundary-dead-audio-process-returns-empty ()
- "Test that indicator returns empty string when audio process variable is set but process is dead."
- (test-modeline-indicator-setup)
- (unwind-protect
- (let ((fake-process (make-process :name "test-audio" :command '("sleep" "1000"))))
- (setq cj/audio-recording-ffmpeg-process fake-process)
- ;; Kill the process
- (delete-process fake-process)
- ;; Wait for process to be fully dead
- (sit-for 0.1)
- (let ((result (cj/recording-modeline-indicator)))
- (should (equal "" result))))
- (test-modeline-indicator-teardown)))
-
-(ert-deftest test-video-audio-recording-modeline-indicator-boundary-dead-video-process-returns-empty ()
- "Test that indicator returns empty string when video process variable is set but process is dead."
- (test-modeline-indicator-setup)
- (unwind-protect
- (let ((fake-process (make-process :name "test-video" :command '("sleep" "1000"))))
- (setq cj/video-recording-ffmpeg-process fake-process)
- ;; Kill the process
- (delete-process fake-process)
- ;; Wait for process to be fully dead
- (sit-for 0.1)
- (let ((result (cj/recording-modeline-indicator)))
- (should (equal "" result))))
- (test-modeline-indicator-teardown)))
-
-(ert-deftest test-video-audio-recording-modeline-indicator-boundary-one-dead-one-alive-shows-alive ()
- "Test that only the alive process shows when one is dead and one is alive."
- (test-modeline-indicator-setup)
- (unwind-protect
- (let ((dead-proc (make-process :name "test-dead" :command '("sleep" "1000")))
- (alive-proc (make-process :name "test-alive" :command '("sleep" "1000"))))
- (setq cj/audio-recording-ffmpeg-process dead-proc)
- (setq cj/video-recording-ffmpeg-process alive-proc)
- (delete-process dead-proc)
- (sit-for 0.1)
- (let ((result (cj/recording-modeline-indicator)))
- (should (equal " 🔴Video " result)))
- (delete-process alive-proc))
- (test-modeline-indicator-teardown)))
-
-(ert-deftest test-video-audio-recording-modeline-indicator-boundary-nil-process-variables ()
- "Test that nil process variables are handled gracefully."
- (test-modeline-indicator-setup)
- (unwind-protect
- (progn
- (setq cj/audio-recording-ffmpeg-process nil)
- (setq cj/video-recording-ffmpeg-process nil)
- (let ((result (cj/recording-modeline-indicator)))
- (should (equal "" result))))
- (test-modeline-indicator-teardown)))
-
-(provide 'test-video-audio-recording-modeline-indicator)
-;;; test-video-audio-recording-modeline-indicator.el ends here