diff options
author | F. Jason Park <jp@neverwas.me> | 2025-01-30 19:07:00 -0800 |
---|---|---|
committer | F. Jason Park <jp@neverwas.me> | 2025-02-02 14:35:19 -0800 |
commit | a62a26239780684d481533a57d12de520b737f9b (patch) | |
tree | a8998e7055514e9aaa2410f5f6be448bdde8b517 /test/lisp/erc/erc-scenarios-services-misc.el | |
parent | fb53de0c06651ed9662610790b3c2938a314c468 (diff) | |
download | emacs-a62a26239780684d481533a57d12de520b737f9b.tar.gz emacs-a62a26239780684d481533a57d12de520b737f9b.tar.bz2 emacs-a62a26239780684d481533a57d12de520b737f9b.zip |
Run erc-services-regain-mode callback on a timer
* lisp/erc/erc-services.el (erc-services-regain-timeout-seconds): New
variable.
(erc-services-regain-mode): Mention CertFP in doc string.
(erc--nickname-in-use-make-request): Ensure the 900 RPL_LOGGEDIN
callback always runs after `erc-services-regain-timeout-seconds', even
when SASL isn't being used.
* test/lisp/erc/erc-scenarios-services-misc.el
(erc-scenarios-services-misc--regain-command/oftc): New test.
* test/lisp/erc/resources/services/regain/taken-regain-oftc.eld: New
file.
Diffstat (limited to 'test/lisp/erc/erc-scenarios-services-misc.el')
-rw-r--r-- | test/lisp/erc/erc-scenarios-services-misc.el | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/test/lisp/erc/erc-scenarios-services-misc.el b/test/lisp/erc/erc-scenarios-services-misc.el index 823c97dd96b..13d66a54d3a 100644 --- a/test/lisp/erc/erc-scenarios-services-misc.el +++ b/test/lisp/erc/erc-scenarios-services-misc.el @@ -223,6 +223,31 @@ ;; Works with "given" `:id'. (should (and (erc-network) (not (eq (erc-network) 'ExampleNet))))))) +(ert-deftest erc-scenarios-services-misc--regain-command/oftc () + :tags '(:expensive-test) + (erc-scenarios-common-with-cleanup + ((erc-server-flood-penalty 0.1) + (erc-scenarios-common-dialog "services/regain") + (dumb-server (erc-d-run "localhost" t 'taken-regain-oftc)) + (port (process-contact dumb-server :service)) + (erc-modules `(services-regain ,@erc-modules)) + (erc-services-regain-timeout-seconds 1) + (use-id-p (cl-evenp (truncate (float-time)))) + (erc-services-regain-alist (list (cons (if use-id-p 'oftc 'OFTC) + #'erc-services-issue-regain))) + (expect (erc-d-t-make-expecter))) + + (with-current-buffer (erc :server "127.0.0.1" + :port port + :nick "dummy" + :user "tester" + :full-name "tester" + :id (and use-id-p 'oftc)) + (funcall expect 10 "Nickname dummy is already in use, trying dummy`") + (funcall expect 10 "-NickServ- REGAIN succeed on nickname") + (funcall expect 10 "*** Your new nickname is dummy") + (funcall expect 10 "*** dummy has changed mode for dummy to +R")))) + (ert-deftest erc-scenarios-services-misc--ghost-and-retry-nick () :tags '(:expensive-test) (erc-scenarios-common-with-cleanup |