diff options
| author | Craig Jennings <c@cjennings.net> | 2025-11-14 02:31:16 -0600 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2025-11-14 02:31:16 -0600 |
| commit | 9d55ed149e100b4fb3ef6f5a79d263dcb26ce835 (patch) | |
| tree | b02a77b84849f15b4302fda8f3f8e3942cb253ac /tests/test-video-audio-recording-quick-setup-for-calls.el | |
| parent | 7b982b1984dd37af42a2dfc9f4c3e52b27102860 (diff) | |
checking in modified/removed tests and other misc changes
Diffstat (limited to 'tests/test-video-audio-recording-quick-setup-for-calls.el')
| -rw-r--r-- | tests/test-video-audio-recording-quick-setup-for-calls.el | 144 |
1 files changed, 0 insertions, 144 deletions
diff --git a/tests/test-video-audio-recording-quick-setup-for-calls.el b/tests/test-video-audio-recording-quick-setup-for-calls.el deleted file mode 100644 index 0d3fe53a..00000000 --- a/tests/test-video-audio-recording-quick-setup-for-calls.el +++ /dev/null @@ -1,144 +0,0 @@ -;;; test-video-audio-recording-quick-setup-for-calls.el --- Tests for cj/recording-quick-setup-for-calls -*- lexical-binding: t; -*- - -;;; Commentary: -;; Unit tests for cj/recording-quick-setup-for-calls function. -;; Tests quick device setup workflow for call recording. - -;;; 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-quick-setup-setup () - "Reset device variables before each test." - (setq cj/recording-mic-device nil) - (setq cj/recording-system-device nil)) - -(defun test-quick-setup-teardown () - "Clean up device variables after each test." - (setq cj/recording-mic-device nil) - (setq cj/recording-system-device nil)) - -;;; Normal Cases - -(ert-deftest test-video-audio-recording-quick-setup-for-calls-normal-sets-both-devices () - "Test that function sets both mic and system device variables." - (test-quick-setup-setup) - (unwind-protect - (let ((grouped-devices '(("Bluetooth Headset" . ("bluez_input.00:1B:66" . "bluez_output.00_1B_66.monitor"))))) - (cl-letf (((symbol-function 'cj/recording-group-devices-by-hardware) - (lambda () grouped-devices)) - ((symbol-function 'completing-read) - (lambda (_prompt _choices &rest _args) "Bluetooth Headset"))) - (cj/recording-quick-setup-for-calls) - (should (equal "bluez_input.00:1B:66" cj/recording-mic-device)) - (should (equal "bluez_output.00_1B_66.monitor" cj/recording-system-device)))) - (test-quick-setup-teardown))) - -(ert-deftest test-video-audio-recording-quick-setup-for-calls-normal-presents-friendly-names () - "Test that function presents friendly device names to user." - (test-quick-setup-setup) - (unwind-protect - (let ((grouped-devices '(("Jabra SPEAK 510 USB" . ("usb-input" . "usb-monitor")) - ("Built-in Laptop Audio" . ("pci-input" . "pci-monitor")))) - (presented-choices nil)) - (cl-letf (((symbol-function 'cj/recording-group-devices-by-hardware) - (lambda () grouped-devices)) - ((symbol-function 'completing-read) - (lambda (_prompt choices &rest _args) - (setq presented-choices choices) - (car choices)))) - (cj/recording-quick-setup-for-calls) - (should (member "Jabra SPEAK 510 USB" presented-choices)) - (should (member "Built-in Laptop Audio" presented-choices)))) - (test-quick-setup-teardown))) - -(ert-deftest test-video-audio-recording-quick-setup-for-calls-normal-displays-confirmation () - "Test that function displays confirmation message with device details." - (test-quick-setup-setup) - (unwind-protect - (let ((grouped-devices '(("Bluetooth Headset" . ("bluez_input.00:1B:66" . "bluez_output.00_1B_66.monitor")))) - (message-text nil)) - (cl-letf (((symbol-function 'cj/recording-group-devices-by-hardware) - (lambda () grouped-devices)) - ((symbol-function 'completing-read) - (lambda (_prompt _choices &rest _args) "Bluetooth Headset")) - ((symbol-function 'message) - (lambda (fmt &rest args) (setq message-text (apply #'format fmt args))))) - (cj/recording-quick-setup-for-calls) - (should (string-match-p "Call recording ready" message-text)) - (should (string-match-p "Bluetooth Headset" message-text)))) - (test-quick-setup-teardown))) - -;;; Boundary Cases - -(ert-deftest test-video-audio-recording-quick-setup-for-calls-boundary-single-device-no-prompt () - "Test that with single device, selection still happens." - (test-quick-setup-setup) - (unwind-protect - (let ((grouped-devices '(("Built-in Laptop Audio" . ("pci-input" . "pci-monitor"))))) - (cl-letf (((symbol-function 'cj/recording-group-devices-by-hardware) - (lambda () grouped-devices)) - ((symbol-function 'completing-read) - (lambda (_prompt _choices &rest _args) "Built-in Laptop Audio"))) - (cj/recording-quick-setup-for-calls) - (should (equal "pci-input" cj/recording-mic-device)) - (should (equal "pci-monitor" cj/recording-system-device)))) - (test-quick-setup-teardown))) - -(ert-deftest test-video-audio-recording-quick-setup-for-calls-boundary-device-name-with-special-chars () - "Test that device names with special characters are handled correctly." - (test-quick-setup-setup) - (unwind-protect - (let ((grouped-devices '(("Device (USB-C)" . ("special-input" . "special-monitor"))))) - (cl-letf (((symbol-function 'cj/recording-group-devices-by-hardware) - (lambda () grouped-devices)) - ((symbol-function 'completing-read) - (lambda (_prompt _choices &rest _args) "Device (USB-C)"))) - (cj/recording-quick-setup-for-calls) - (should (equal "special-input" cj/recording-mic-device)) - (should (equal "special-monitor" cj/recording-system-device)))) - (test-quick-setup-teardown))) - -;;; Error Cases - -(ert-deftest test-video-audio-recording-quick-setup-for-calls-error-no-devices-signals-error () - "Test that function signals user-error when no complete devices are found." - (test-quick-setup-setup) - (unwind-protect - (cl-letf (((symbol-function 'cj/recording-group-devices-by-hardware) - (lambda () nil))) - (should-error (cj/recording-quick-setup-for-calls) :type 'user-error)) - (test-quick-setup-teardown))) - -(ert-deftest test-video-audio-recording-quick-setup-for-calls-error-message-mentions-both-devices () - "Test that error message mentions need for both mic and monitor." - (test-quick-setup-setup) - (unwind-protect - (cl-letf (((symbol-function 'cj/recording-group-devices-by-hardware) - (lambda () nil))) - (condition-case err - (cj/recording-quick-setup-for-calls) - (user-error - (should (string-match-p "both mic and monitor" (error-message-string err)))))) - (test-quick-setup-teardown))) - -(ert-deftest test-video-audio-recording-quick-setup-for-calls-error-empty-device-list () - "Test that empty device list from grouping is handled gracefully." - (test-quick-setup-setup) - (unwind-protect - (cl-letf (((symbol-function 'cj/recording-group-devices-by-hardware) - (lambda () '()))) - (should-error (cj/recording-quick-setup-for-calls) :type 'user-error)) - (test-quick-setup-teardown))) - -(provide 'test-video-audio-recording-quick-setup-for-calls) -;;; test-video-audio-recording-quick-setup-for-calls.el ends here |
