aboutsummaryrefslogtreecommitdiff
path: root/tests/test-erc-config--generate-buffer-name.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-20 12:40:21 -0400
committerCraig Jennings <c@cjennings.net>2026-06-20 12:40:21 -0400
commitc86b0911d57566d740b2c8ddbb722b6337333803 (patch)
treeb22b7ea1e4226a1789ecfca5de5660671a28ca2e /tests/test-erc-config--generate-buffer-name.el
parent78c264296b0766895e8a060e843222e88ca6388a (diff)
downloaddotemacs-c86b0911d57566d740b2c8ddbb722b6337333803.tar.gz
dotemacs-c86b0911d57566d740b2c8ddbb722b6337333803.zip
refactor(erc): lift cj/erc-generate-buffer-name out of :config
The buffer-name function lived inside the erc use-package :config, so it was unreachable under make test (no package-initialize). Move it to top level; :config keeps the erc-generate-buffer-name-function setq. Adds unit coverage for the server-and-channel, server-only, and missing-piece cases.
Diffstat (limited to 'tests/test-erc-config--generate-buffer-name.el')
-rw-r--r--tests/test-erc-config--generate-buffer-name.el31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/test-erc-config--generate-buffer-name.el b/tests/test-erc-config--generate-buffer-name.el
new file mode 100644
index 000000000..cbc716c82
--- /dev/null
+++ b/tests/test-erc-config--generate-buffer-name.el
@@ -0,0 +1,31 @@
+;;; test-erc-config--generate-buffer-name.el --- Tests for cj/erc-generate-buffer-name -*- lexical-binding: t; -*-
+
+;;; Commentary:
+;; cj/erc-generate-buffer-name formats an ERC buffer name as SERVER-CHANNEL.
+;; It was defined inside the erc use-package :config (so unreachable under
+;; `make test'); lifting it to top level makes it unit-testable.
+
+;;; Code:
+
+(require 'ert)
+
+(add-to-list 'load-path (expand-file-name "modules" user-emacs-directory))
+(require 'erc-config)
+
+(ert-deftest test-erc-generate-buffer-name-server-and-channel ()
+ "Normal: a target yields SERVER-CHANNEL."
+ (should (equal (cj/erc-generate-buffer-name '(:server "libera" :target "#emacs"))
+ "libera-#emacs")))
+
+(ert-deftest test-erc-generate-buffer-name-server-only ()
+ "Boundary: no target yields just the server name."
+ (should (equal (cj/erc-generate-buffer-name '(:server "libera"))
+ "libera")))
+
+(ert-deftest test-erc-generate-buffer-name-missing-pieces ()
+ "Boundary: missing server/target degrade to empty strings, not nil."
+ (should (equal (cj/erc-generate-buffer-name '(:target "#emacs")) "-#emacs"))
+ (should (equal (cj/erc-generate-buffer-name '()) "")))
+
+(provide 'test-erc-config--generate-buffer-name)
+;;; test-erc-config--generate-buffer-name.el ends here