aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorF. Jason Park2022-03-13 22:39:36 -0700
committerF. Jason Park2022-03-19 01:46:18 -0700
commit17bd063a67404a13ff719830336693d7cd7f6d79 (patch)
tree954c404ab65ee645bb868fef4eec3d13bbc2bcc8
parent43ee6f291d88453f0d6dec76fe80f4e7503abc81 (diff)
downloademacs-17bd063a67404a13ff719830336693d7cd7f6d79.tar.gz
emacs-17bd063a67404a13ff719830336693d7cd7f6d79.zip
Add unit test for erc--switch-to-buffer
* test/lisp/erc/erc-tests.el (erc--switch-to-buffer): Add new test. (Bug#53617)
-rw-r--r--test/lisp/erc/erc-tests.el57
1 files changed, 56 insertions, 1 deletions
diff --git a/test/lisp/erc/erc-tests.el b/test/lisp/erc/erc-tests.el
index 5603e764547..5a2b90a9402 100644
--- a/test/lisp/erc/erc-tests.el
+++ b/test/lisp/erc/erc-tests.el
@@ -21,7 +21,7 @@
21 21
22;;; Code: 22;;; Code:
23 23
24(require 'ert) 24(require 'ert-x)
25(require 'erc) 25(require 'erc)
26(require 'erc-ring) 26(require 'erc-ring)
27(require 'erc-networks) 27(require 'erc-networks)
@@ -114,6 +114,61 @@
114 (should (get-buffer "#spam")) 114 (should (get-buffer "#spam"))
115 (kill-buffer "#spam"))) 115 (kill-buffer "#spam")))
116 116
117(ert-deftest erc--switch-to-buffer ()
118 (defvar erc-modified-channels-alist) ; lisp/erc/erc-track.el
119
120 (let ((proc (start-process "aNet" (current-buffer) "true"))
121 (erc-modified-channels-alist `(("fake") (,(messages-buffer))))
122 (inhibit-message noninteractive)
123 (completion-fail-discreetly t) ; otherwise ^G^G printed to .log file
124 ;;
125 erc-kill-channel-hook erc-kill-server-hook erc-kill-buffer-hook)
126
127 (with-current-buffer (get-buffer-create "server")
128 (erc-mode)
129 (set-process-buffer (setq erc-server-process proc) (current-buffer))
130 (with-current-buffer (get-buffer-create "#chan")
131 (erc-mode)
132 (setq erc-server-process proc))
133 (with-current-buffer (get-buffer-create "#foo")
134 (erc-mode)
135 (setq erc-server-process proc))
136
137 (ert-info ("Channel #chan selectable from server buffer")
138 (ert-simulate-keys (list ?# ?c ?h ?a ?n ?\C-m)
139 (should (string= "#chan" (erc--switch-to-buffer))))))
140
141 (ert-info ("Channel #foo selectable from non-ERC buffer")
142 (ert-simulate-keys (list ?# ?f ?o ?o ?\C-m)
143 (should (string= "#foo" (erc--switch-to-buffer)))))
144
145 (ert-info ("Default selectable")
146 (ert-simulate-keys (list ?\C-m)
147 (should (string= "*Messages*" (erc--switch-to-buffer)))))
148
149 (ert-info ("Extant but non-ERC buffer not selectable")
150 (get-buffer-create "#fake") ; not ours
151 (ert-simulate-keys (kbd "#fake C-m C-a C-k C-m")
152 ;; Initial query fails ~~~~~~^; clearing input accepts default
153 (should (string= "*Messages*" (erc--switch-to-buffer)))))
154
155 (with-current-buffer (get-buffer-create "other")
156 (erc-mode)
157 (setq erc-server-process (start-process "bNet" (current-buffer) "true")))
158
159 (ert-info ("Foreign ERC buffer not selectable")
160 (ert-simulate-keys (kbd "other C-m C-a C-k C-m")
161 (with-current-buffer "server"
162 (should (string= "*Messages*" (erc--switch-to-buffer))))))
163
164 (ert-info ("Any ERC-buffer selectable from non-ERC buffer")
165 (should-not (eq major-mode 'erc-mode))
166 (ert-simulate-keys (list ?o ?t ?h ?e ?r ?\C-m)
167 (should (string= "other" (erc--switch-to-buffer)))))
168
169 (dolist (b '("server" "other" "#chan" "#foo" "#fake"))
170 (kill-buffer b))))
171
117(ert-deftest erc-lurker-maybe-trim () 172(ert-deftest erc-lurker-maybe-trim ()
118 (let (erc-lurker-trim-nicks 173 (let (erc-lurker-trim-nicks
119 (erc-lurker-ignore-chars "_`")) 174 (erc-lurker-ignore-chars "_`"))