mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
Move experimental module querypoll to erc-notify
* etc/ERC-NEWS: Announce migration of misplaced `querypoll' module from erc-goodies.el to erc-notify.el. * lisp/erc/erc-goodies.el: Move all definitions associated with experimental module `querypoll' to erc-notify. * lisp/erc/erc-notify.el (erc--querypoll-ring) (erc--querypoll-timer, erc-querypoll-exclude-regexp) (erc-querypoll-mode, erc-querypoll-enable, erc-querypoll-disable) (erc--queries-current-p, erc-querypoll-period-params) (erc--querypoll-compute-period, erc--querypoll-target-in-chan-p) (erc--querypoll-get-length, erc--querypoll-get-next) (erc--querypoll-subscribe, erc--querypoll-on-352) (erc--querypoll-send): Move here from erc-goodies. * test/lisp/erc/erc-goodies-tests.el (erc--querypoll-compute-period) (erc--querypoll-target-in-chan-p, erc--querypoll-get-length) (erc--querypoll-get-next): Move to new file erc-notify-tests.el. * test/lisp/erc/erc-notify-tests.el: New file. The `querypoll' module was first introduced as part of bug#70928 in ERC 5.6.
This commit is contained in:
parent
a5b2de8b54
commit
be3318badd
5 changed files with 290 additions and 246 deletions
87
test/lisp/erc/erc-notify-tests.el
Normal file
87
test/lisp/erc/erc-notify-tests.el
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
;;; erc-notify-tests.el --- Tests for erc-notify -*- lexical-binding:t -*-
|
||||
|
||||
;; Copyright (C) 2024 Free Software Foundation, Inc.
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
;;
|
||||
;; GNU Emacs is free software: you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published
|
||||
;; by the Free Software Foundation, either version 3 of the License,
|
||||
;; or (at your option) any later version.
|
||||
;;
|
||||
;; GNU Emacs is distributed in the hope that it will be useful, but
|
||||
;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
;; General Public License for more details.
|
||||
;;
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
;;; Code:
|
||||
(require 'erc-notify)
|
||||
|
||||
(require 'ert-x)
|
||||
(eval-and-compile
|
||||
(let ((load-path (cons (ert-resource-directory) load-path)))
|
||||
(require 'erc-tests-common)))
|
||||
|
||||
|
||||
;;;; Module `querypoll'
|
||||
|
||||
(ert-deftest erc--querypoll-compute-period ()
|
||||
(should (equal (mapcar (lambda (i)
|
||||
(/ (round (* 100 (erc--querypoll-compute-period i)))
|
||||
100.0))
|
||||
(number-sequence 0 10))
|
||||
'(11.0 10.05 9.19 8.41 7.7 7.07 6.49 5.97 5.49 5.07 4.68))))
|
||||
|
||||
(declare-function ring-insert "ring" (ring item))
|
||||
|
||||
(ert-deftest erc--querypoll-target-in-chan-p ()
|
||||
(erc-tests-common-make-server-buf)
|
||||
(with-current-buffer (erc--open-target "#chan")
|
||||
(erc-update-current-channel-member "bob" "bob" 'addp))
|
||||
|
||||
(with-current-buffer (erc--open-target "bob")
|
||||
(should (erc--querypoll-target-in-chan-p (current-buffer))))
|
||||
|
||||
(with-current-buffer (erc--open-target "alice")
|
||||
(should-not (erc--querypoll-target-in-chan-p (current-buffer))))
|
||||
|
||||
(when noninteractive
|
||||
(erc-tests-common-kill-buffers)))
|
||||
|
||||
(ert-deftest erc--querypoll-get-length ()
|
||||
(erc-tests-common-make-server-buf)
|
||||
(with-current-buffer (erc--open-target "#chan")
|
||||
(erc-update-current-channel-member "bob" "bob" 'addp))
|
||||
|
||||
(let ((ring (make-ring 5)))
|
||||
(ring-insert ring (with-current-buffer (erc--open-target "bob")))
|
||||
(should (= 0 (erc--querypoll-get-length ring)))
|
||||
(ring-insert ring (with-current-buffer (erc--open-target "alice")))
|
||||
(should (= 1 (erc--querypoll-get-length ring))))
|
||||
|
||||
(when noninteractive
|
||||
(erc-tests-common-kill-buffers)))
|
||||
|
||||
(ert-deftest erc--querypoll-get-next ()
|
||||
(erc-tests-common-make-server-buf)
|
||||
(with-current-buffer (erc--open-target "#chan")
|
||||
(erc-update-current-channel-member "bob" "bob" 'addp)
|
||||
(erc-update-current-channel-member "alice" "alice" 'addp))
|
||||
|
||||
(let ((ring (make-ring 5)))
|
||||
(ring-insert ring (with-current-buffer (erc--open-target "bob")))
|
||||
(ring-insert ring (with-current-buffer (erc--open-target "dummy")))
|
||||
(ring-insert ring (with-current-buffer (erc--open-target "alice")))
|
||||
(ring-insert ring (with-current-buffer (erc--open-target "tester")))
|
||||
(kill-buffer (get-buffer "dummy"))
|
||||
|
||||
(should (eq (get-buffer "tester") (erc--querypoll-get-next ring))))
|
||||
|
||||
(when noninteractive
|
||||
(erc-tests-common-kill-buffers)))
|
||||
|
||||
;;; erc-notify-tests.el ends here
|
||||
Loading…
Add table
Add a link
Reference in a new issue