summaryrefslogtreecommitdiff
path: root/tests/test-video-audio-recording-get-devices.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-02-26 17:08:19 -0600
committerCraig Jennings <c@cjennings.net>2026-02-26 17:08:19 -0600
commit58ef63abd5a9187ee93609f142cb21a933da16c5 (patch)
tree048052e931d218cac1930d736739e11e491b4e7b /tests/test-video-audio-recording-get-devices.el
parentf473f610b7fccffd3d10d8e81342218cd4ab25fc (diff)
feat(recording): validate system audio device before recording
Add pre-recording validation that catches stale or drifted system audio devices before they cause silent recordings. When the default audio output changes (Bluetooth reconnect, device switch) between setup and recording, the monitor device is auto-updated. Warns if no audio is currently playing through the monitored sink. Co-Authored-By: Craig Jennings <c@cjennings.net>
Diffstat (limited to 'tests/test-video-audio-recording-get-devices.el')
-rw-r--r--tests/test-video-audio-recording-get-devices.el26
1 files changed, 18 insertions, 8 deletions
diff --git a/tests/test-video-audio-recording-get-devices.el b/tests/test-video-audio-recording-get-devices.el
index 0af02bb3..66adecd1 100644
--- a/tests/test-video-audio-recording-get-devices.el
+++ b/tests/test-video-audio-recording-get-devices.el
@@ -39,10 +39,12 @@
(progn
(setq cj/recording-mic-device "preset-mic")
(setq cj/recording-system-device "preset-monitor")
- (let ((result (cj/recording-get-devices)))
- (should (consp result))
- (should (equal "preset-mic" (car result)))
- (should (equal "preset-monitor" (cdr result)))))
+ (cl-letf (((symbol-function 'cj/recording--validate-system-audio)
+ (lambda () nil)))
+ (let ((result (cj/recording-get-devices)))
+ (should (consp result))
+ (should (equal "preset-mic" (car result)))
+ (should (equal "preset-monitor" (cdr result))))))
(test-get-devices-teardown)))
(ert-deftest test-video-audio-recording-get-devices-normal-calls-quick-setup ()
@@ -54,7 +56,9 @@
(lambda ()
(setq quick-setup-called t)
(setq cj/recording-mic-device "quick-mic")
- (setq cj/recording-system-device "quick-monitor"))))
+ (setq cj/recording-system-device "quick-monitor")))
+ ((symbol-function 'cj/recording--validate-system-audio)
+ (lambda () nil)))
(cj/recording-get-devices)
(should quick-setup-called)))
(test-get-devices-teardown)))
@@ -66,7 +70,9 @@
(cl-letf (((symbol-function 'cj/recording-quick-setup)
(lambda ()
(setq cj/recording-mic-device "test-mic")
- (setq cj/recording-system-device "test-monitor"))))
+ (setq cj/recording-system-device "test-monitor")))
+ ((symbol-function 'cj/recording--validate-system-audio)
+ (lambda () nil)))
(let ((result (cj/recording-get-devices)))
(should (consp result))
(should (equal "test-mic" (car result)))
@@ -87,7 +93,9 @@
(lambda ()
(setq quick-setup-called t)
(setq cj/recording-mic-device "new-mic")
- (setq cj/recording-system-device "new-monitor"))))
+ (setq cj/recording-system-device "new-monitor")))
+ ((symbol-function 'cj/recording--validate-system-audio)
+ (lambda () nil)))
(cj/recording-get-devices)
(should quick-setup-called))))
(test-get-devices-teardown)))
@@ -104,7 +112,9 @@
(lambda ()
(setq quick-setup-called t)
(setq cj/recording-mic-device "new-mic")
- (setq cj/recording-system-device "new-monitor"))))
+ (setq cj/recording-system-device "new-monitor")))
+ ((symbol-function 'cj/recording--validate-system-audio)
+ (lambda () nil)))
(cj/recording-get-devices)
(should quick-setup-called))))
(test-get-devices-teardown)))