diff options
| author | F. Jason Park | 2022-04-04 22:38:22 -0700 |
|---|---|---|
| committer | F. Jason Park | 2022-06-30 15:03:26 -0700 |
| commit | 0f52e7ac68457ca8beb22cd382b1637fed35fd73 (patch) | |
| tree | e179bbd79daa6a1f27a65ba673ae1629d515b59e /test | |
| parent | a3311dbce0008a23d8d6626ae6245d96ce3a20b2 (diff) | |
| download | emacs-0f52e7ac68457ca8beb22cd382b1637fed35fd73.tar.gz emacs-0f52e7ac68457ca8beb22cd382b1637fed35fd73.zip | |
Rework mutual dependency between erc and erc-backend
* lisp/erc/erc.el: Declare needed variables exported by erc-backend.el
as special near the top of the file, and only require `erc-backend'
after providing `erc' as a feature at the very end.
* lisp/erc/erc-backend.el: Don't preemptively provide `erc-backend'.
* test/lisp/erc/erc-tests.el (erc--meta--backend-dependencies): Add
utility test to scrape for unused vars that may accumulate over time.
(Bug#54825)
Diffstat (limited to 'test')
| -rw-r--r-- | test/lisp/erc/erc-tests.el | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/lisp/erc/erc-tests.el b/test/lisp/erc/erc-tests.el index 520f10dd4e6..3c76cb97caf 100644 --- a/test/lisp/erc/erc-tests.el +++ b/test/lisp/erc/erc-tests.el | |||
| @@ -48,6 +48,27 @@ | |||
| 48 | (cl-letf (((symbol-function 'read-string) (lambda (&rest _) "1d"))) | 48 | (cl-letf (((symbol-function 'read-string) (lambda (&rest _) "1d"))) |
| 49 | (should (equal (erc--read-time-period "foo: ") 86400)))) | 49 | (should (equal (erc--read-time-period "foo: ") 86400)))) |
| 50 | 50 | ||
| 51 | (ert-deftest erc--meta--backend-dependencies () | ||
| 52 | (with-temp-buffer | ||
| 53 | (insert-file-contents-literally | ||
| 54 | (concat (file-name-sans-extension (symbol-file 'erc)) ".el")) | ||
| 55 | (let ((beg (search-forward ";; Defined in erc-backend")) | ||
| 56 | (end (search-forward "\n\n")) | ||
| 57 | vars) | ||
| 58 | (save-excursion | ||
| 59 | (save-restriction | ||
| 60 | (narrow-to-region beg end) | ||
| 61 | (goto-char (point-min)) | ||
| 62 | (with-syntax-table lisp-data-mode-syntax-table | ||
| 63 | (condition-case _ | ||
| 64 | (while (push (cadr (read (current-buffer))) vars)) | ||
| 65 | (end-of-file))))) | ||
| 66 | (should (= (point) end)) | ||
| 67 | (dolist (var vars) | ||
| 68 | (setq var (concat "\\_<" (symbol-name var) "\\_>")) | ||
| 69 | (ert-info (var) | ||
| 70 | (should (save-excursion (search-forward-regexp var nil t)))))))) | ||
| 71 | |||
| 51 | (ert-deftest erc-with-all-buffers-of-server () | 72 | (ert-deftest erc-with-all-buffers-of-server () |
| 52 | (let (proc-exnet | 73 | (let (proc-exnet |
| 53 | proc-onet | 74 | proc-onet |