diff options
Diffstat (limited to 'tests/test-transcription-config--transcription-script-path.el')
| -rw-r--r-- | tests/test-transcription-config--transcription-script-path.el | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/tests/test-transcription-config--transcription-script-path.el b/tests/test-transcription-config--transcription-script-path.el deleted file mode 100644 index a56cb05c..00000000 --- a/tests/test-transcription-config--transcription-script-path.el +++ /dev/null @@ -1,106 +0,0 @@ -;;; test-transcription-config--transcription-script-path.el --- Tests for cj/--transcription-script-path -*- lexical-binding: t; -*- - -;;; Commentary: -;; Tests for the cj/--transcription-script-path function from transcription-config.el -;; -;; This function returns the absolute path to the transcription script based on -;; the current value of cj/transcribe-backend. - -;;; Code: - -(require 'ert) - -;; Add modules directory to load path -(add-to-list 'load-path (expand-file-name "modules" user-emacs-directory)) - -;; Stub dependencies before loading the module -(defvar cj/custom-keymap (make-sparse-keymap) - "Stub keymap for testing.") - -;; Stub notification function -(unless (fboundp 'notifications-notify) - (defun notifications-notify (&rest _args) - "Stub notification function for testing." - nil)) - -;; Now load the actual production module -(require 'transcription-config) - -;;; Setup and Teardown - -(defun test-transcription-script-path-setup () - "Set up test environment." - ;; Save original backend setting - (setq test-transcription-original-backend cj/transcribe-backend)) - -(defun test-transcription-script-path-teardown () - "Clean up test environment." - ;; Restore original backend setting - (setq cj/transcribe-backend test-transcription-original-backend)) - -;;; Normal Cases - -(ert-deftest test-transcription-config--transcription-script-path-normal-openai-api-returns-oai-transcribe () - "Should return oai-transcribe script path for openai-api backend." - (test-transcription-script-path-setup) - (unwind-protect - (progn - (setq cj/transcribe-backend 'openai-api) - (let ((result (cj/--transcription-script-path))) - (should (stringp result)) - (should (string-suffix-p "scripts/oai-transcribe" result)) - (should (string-prefix-p (expand-file-name user-emacs-directory) result)))) - (test-transcription-script-path-teardown))) - -(ert-deftest test-transcription-config--transcription-script-path-normal-assemblyai-returns-assemblyai-transcribe () - "Should return assemblyai-transcribe script path for assemblyai backend." - (test-transcription-script-path-setup) - (unwind-protect - (progn - (setq cj/transcribe-backend 'assemblyai) - (let ((result (cj/--transcription-script-path))) - (should (stringp result)) - (should (string-suffix-p "scripts/assemblyai-transcribe" result)) - (should (string-prefix-p (expand-file-name user-emacs-directory) result)))) - (test-transcription-script-path-teardown))) - -(ert-deftest test-transcription-config--transcription-script-path-normal-local-whisper-returns-local-whisper () - "Should return local-whisper script path for local-whisper backend." - (test-transcription-script-path-setup) - (unwind-protect - (progn - (setq cj/transcribe-backend 'local-whisper) - (let ((result (cj/--transcription-script-path))) - (should (stringp result)) - (should (string-suffix-p "scripts/local-whisper" result)) - (should (string-prefix-p (expand-file-name user-emacs-directory) result)))) - (test-transcription-script-path-teardown))) - -(ert-deftest test-transcription-config--transcription-script-path-normal-returns-absolute-path () - "Should return absolute path starting with user-emacs-directory." - (test-transcription-script-path-setup) - (unwind-protect - (progn - (setq cj/transcribe-backend 'openai-api) - (let ((result (cj/--transcription-script-path))) - (should (file-name-absolute-p result)) - (should (string-prefix-p "/" result)))) - (test-transcription-script-path-teardown))) - -;;; Boundary Cases - -(ert-deftest test-transcription-config--transcription-script-path-boundary-path-format-consistent () - "Should return paths in consistent format across backends." - (test-transcription-script-path-setup) - (unwind-protect - (let (paths) - (dolist (backend '(openai-api assemblyai local-whisper)) - (setq cj/transcribe-backend backend) - (push (cj/--transcription-script-path) paths)) - ;; All paths should have same structure: <emacs-dir>/scripts/<name> - (should (= (length paths) 3)) - (should (seq-every-p (lambda (p) (string-match-p "/scripts/[^/]+$" p)) paths))) - (test-transcription-script-path-teardown))) - -(provide 'test-transcription-config--transcription-script-path) -;;; test-transcription-config--transcription-script-path.el ends here |
