diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/lisp/erc/erc-scenarios-base-buffer-display.el | 37 | ||||
| -rw-r--r-- | test/lisp/erc/erc-tests.el | 13 |
2 files changed, 44 insertions, 6 deletions
diff --git a/test/lisp/erc/erc-scenarios-base-buffer-display.el b/test/lisp/erc/erc-scenarios-base-buffer-display.el index d511c8ff738..3ed7a83653e 100644 --- a/test/lisp/erc/erc-scenarios-base-buffer-display.el +++ b/test/lisp/erc/erc-scenarios-base-buffer-display.el | |||
| @@ -118,4 +118,41 @@ | |||
| 118 | 118 | ||
| 119 | (should (eq (window-buffer) (messages-buffer)))))) | 119 | (should (eq (window-buffer) (messages-buffer)))))) |
| 120 | 120 | ||
| 121 | |||
| 122 | ;; This shows that the option `erc-interactive-display' overrides | ||
| 123 | ;; `erc-join-buffer' during cold opens and interactive /JOINs. | ||
| 124 | |||
| 125 | (ert-deftest erc-scenarios-base-buffer-display--interactive-default () | ||
| 126 | :tags '(:expensive-test) | ||
| 127 | (should (eq erc-join-buffer 'bury)) | ||
| 128 | (should (eq erc-interactive-display 'window)) | ||
| 129 | |||
| 130 | (erc-scenarios-common-with-cleanup | ||
| 131 | ((erc-scenarios-common-dialog "join/legacy") | ||
| 132 | (dumb-server (erc-d-run "localhost" t 'foonet)) | ||
| 133 | (port (process-contact dumb-server :service)) | ||
| 134 | (url (format "tester:changeme@127.0.0.1:%d\r\r" port)) | ||
| 135 | (expect (erc-d-t-make-expecter)) | ||
| 136 | (erc-server-flood-penalty 0.1) | ||
| 137 | (erc-server-auto-reconnect t) | ||
| 138 | (erc-user-full-name "tester")) | ||
| 139 | |||
| 140 | (ert-info ("Connect to foonet") | ||
| 141 | (with-current-buffer (let (inhibit-interaction) | ||
| 142 | (ert-simulate-keys url | ||
| 143 | (call-interactively #'erc))) | ||
| 144 | (should (string= (buffer-name) (format "127.0.0.1:%d" port))) | ||
| 145 | |||
| 146 | (erc-d-t-wait-for 10 "Server buffer shown" | ||
| 147 | (eq (window-buffer) (current-buffer))) | ||
| 148 | (funcall expect 10 "debug mode") | ||
| 149 | (erc-scenarios-common-say "/JOIN #chan"))) | ||
| 150 | |||
| 151 | (ert-info ("Wait for output in #chan") | ||
| 152 | (with-current-buffer (erc-d-t-wait-for 10 (get-buffer "#chan")) | ||
| 153 | (funcall expect 10 "welcome") | ||
| 154 | (erc-d-t-ensure-for 3 "Channel #chan shown" | ||
| 155 | (eq (window-buffer) (current-buffer))) | ||
| 156 | (funcall expect 10 "be prosperous"))))) | ||
| 157 | |||
| 121 | ;;; erc-scenarios-base-buffer-display.el ends here | 158 | ;;; erc-scenarios-base-buffer-display.el ends here |
diff --git a/test/lisp/erc/erc-tests.el b/test/lisp/erc/erc-tests.el index 29bda7e742d..88b9babf206 100644 --- a/test/lisp/erc/erc-tests.el +++ b/test/lisp/erc/erc-tests.el | |||
| @@ -1292,6 +1292,7 @@ | |||
| 1292 | (cl-letf (((symbol-function 'erc-cmd-MSG) | 1292 | (cl-letf (((symbol-function 'erc-cmd-MSG) |
| 1293 | (lambda (line) | 1293 | (lambda (line) |
| 1294 | (push line calls) | 1294 | (push line calls) |
| 1295 | (should erc--called-as-input-p) | ||
| 1295 | (funcall orig-erc-cmd-MSG line))) | 1296 | (funcall orig-erc-cmd-MSG line))) |
| 1296 | ((symbol-function 'erc-server-buffer) | 1297 | ((symbol-function 'erc-server-buffer) |
| 1297 | (lambda () (current-buffer))) | 1298 | (lambda () (current-buffer))) |
| @@ -1469,7 +1470,7 @@ | |||
| 1469 | :nick (user-login-name) | 1470 | :nick (user-login-name) |
| 1470 | '&interactive-env | 1471 | '&interactive-env |
| 1471 | '((erc-server-connect-function . erc-open-tls-stream) | 1472 | '((erc-server-connect-function . erc-open-tls-stream) |
| 1472 | (erc-join-buffer . buffer)))))) | 1473 | (erc-join-buffer . window)))))) |
| 1473 | 1474 | ||
| 1474 | (ert-info ("Switches to TLS when port matches default TLS port") | 1475 | (ert-info ("Switches to TLS when port matches default TLS port") |
| 1475 | (should (equal (ert-simulate-keys "irc.gnu.org\r6697\r\r\r" | 1476 | (should (equal (ert-simulate-keys "irc.gnu.org\r6697\r\r\r" |
| @@ -1479,7 +1480,7 @@ | |||
| 1479 | :nick (user-login-name) | 1480 | :nick (user-login-name) |
| 1480 | '&interactive-env | 1481 | '&interactive-env |
| 1481 | '((erc-server-connect-function . erc-open-tls-stream) | 1482 | '((erc-server-connect-function . erc-open-tls-stream) |
| 1482 | (erc-join-buffer . buffer)))))) | 1483 | (erc-join-buffer . window)))))) |
| 1483 | 1484 | ||
| 1484 | (ert-info ("Switches to TLS when URL is ircs://") | 1485 | (ert-info ("Switches to TLS when URL is ircs://") |
| 1485 | (should (equal (ert-simulate-keys "ircs://irc.gnu.org\r\r\r\r" | 1486 | (should (equal (ert-simulate-keys "ircs://irc.gnu.org\r\r\r\r" |
| @@ -1489,7 +1490,7 @@ | |||
| 1489 | :nick (user-login-name) | 1490 | :nick (user-login-name) |
| 1490 | '&interactive-env | 1491 | '&interactive-env |
| 1491 | '((erc-server-connect-function . erc-open-tls-stream) | 1492 | '((erc-server-connect-function . erc-open-tls-stream) |
| 1492 | (erc-join-buffer . buffer)))))) | 1493 | (erc-join-buffer . window)))))) |
| 1493 | 1494 | ||
| 1494 | (setq-local erc-interactive-display nil) ; cheat to save space | 1495 | (setq-local erc-interactive-display nil) ; cheat to save space |
| 1495 | 1496 | ||
| @@ -1625,7 +1626,7 @@ | |||
| 1625 | '("localhost" 6667 "nick" "unknown" t "sesame" | 1626 | '("localhost" 6667 "nick" "unknown" t "sesame" |
| 1626 | nil nil nil nil "user" nil))) | 1627 | nil nil nil nil "user" nil))) |
| 1627 | (should (equal (pop env) | 1628 | (should (equal (pop env) |
| 1628 | '((erc-join-buffer buffer) | 1629 | '((erc-join-buffer window) |
| 1629 | (erc-server-connect-function erc-open-tls-stream))))) | 1630 | (erc-server-connect-function erc-open-tls-stream))))) |
| 1630 | 1631 | ||
| 1631 | (ert-info ("Custom connect function") | 1632 | (ert-info ("Custom connect function") |
| @@ -1686,7 +1687,7 @@ | |||
| 1686 | '("irc.libera.chat" 6697 "tester" "unknown" t nil | 1687 | '("irc.libera.chat" 6697 "tester" "unknown" t nil |
| 1687 | nil nil nil nil "user" nil))) | 1688 | nil nil nil nil "user" nil))) |
| 1688 | (should (equal (pop env) | 1689 | (should (equal (pop env) |
| 1689 | '((erc-join-buffer buffer) (erc-server-connect-function | 1690 | '((erc-join-buffer window) (erc-server-connect-function |
| 1690 | erc-open-tls-stream))))) | 1691 | erc-open-tls-stream))))) |
| 1691 | 1692 | ||
| 1692 | (ert-info ("Nick supplied, decline TLS upgrade") | 1693 | (ert-info ("Nick supplied, decline TLS upgrade") |
| @@ -1696,7 +1697,7 @@ | |||
| 1696 | '("irc.libera.chat" 6667 "dummy" "unknown" t nil | 1697 | '("irc.libera.chat" 6667 "dummy" "unknown" t nil |
| 1697 | nil nil nil nil "user" nil))) | 1698 | nil nil nil nil "user" nil))) |
| 1698 | (should (equal (pop env) | 1699 | (should (equal (pop env) |
| 1699 | '((erc-join-buffer buffer) | 1700 | '((erc-join-buffer window) |
| 1700 | (erc-server-connect-function | 1701 | (erc-server-connect-function |
| 1701 | erc-open-network-stream)))))))) | 1702 | erc-open-network-stream)))))))) |
| 1702 | 1703 | ||