1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-23 14:10:28 -08:00
Commit graph

2 commits

Author SHA1 Message Date
F. Jason Park
3c70e85d36 Add preset styles to erc-status-sidebar
* lisp/erc/erc-networks.el (erc-networks--rename-server-buffer): Store
`erc-networks--id' in process object's plist.
* lisp/erc/erc-status-sidebar.el (erc-status-sidebar): Change group
parent from `convenience' to `erc'.
(erc-status-sidebar-channel-format): Mention in doc string that it
depends on new option `erc-status-sidebar-style'.
(erc-status-sidebar-highlight-active-buffer): New option to control
whether the current window's target is highlighted in the status bar.
(erc-status-sidebar-style): New option to determine whether servers
and queries also appear in the sidebar.
(erc-status-sidebar-click-display-action,
erc-status-sidebar-singular): New options.
(erc-status-sidebar-get-window): Consider
`erc-status-sidebar-singular'.
(erc-status-sidebar-open): Fix toggle functionality that somehow fell
through the cracks after the adoption of the package into ERC proper.
(erc-bufbar-mode, erc-bufbar-enable, erc-bufbar-disable): New module
named `bufbar' instead of `sidebar', which is more easily confusable
with `speedbar'.  The preferred name, `status-sidebar' was unavailable
because its minor-mode would have been `erc-status-sidebar-mode',
which is already taken by the major mode used for status-bar buffers
themselves.
(erc-status-sidebar-toggle): Ignore `erc-status-sidebar-singular'.
(erc-status-sidebar--trimpat, erc-status-sidebar--prechan): Add helper
vars for new sorting function, allowing it to honor the existing
interface, which only expects one argument.
(erc-status-sidebar-prefer-target-as-name): New function for
determining buffer name, preferring targets for target buffers.
(erc-status-sidebar-get-channame): Use internal API to help determine
name of buffer in sidebar.
(erc-status-sidebar-prefer-target-as-name,
erc-status-sidebar--show-disconnected,
erc-status-sidebar-all-target-buffers,
erc-status-sidebar-default-allsort): Add new naming and sorting
functions and associated helper functions and variables.
(erc-status-sidebar--active-marker,
erc-status-sidebar--set-active-line): New variable and function for
highlighting the active target in the status bar.
(erc-status-sidebar-default-insert,
erc-status-sidebar-pad-hierarchy): New functions for visiting various
stages of buffer modification when rendering sidebar.
(erc-status-sidebar-refresh): Consider presets and new options when
rendering sidebar.
(erc-status-sidebar-kill):  Disable `erc-bufbar-mode' when active.
(erc-status-sidebar-click): Appeal to option
`erc-status-sidebar-display-action' for `pop-to-buffer' action.
(erc-status-sidebar-scroll-up, erc-status-sidebar-scroll-down,
erc-status-sidebar-recenter): Add commands to scroll and
recenter sidebar from a target buffer's window.
(erc-status-sidebar-set-window-preserve-size): Ignore
`erc-status-sidebar-singular'.
(erc-status-sidebar-mode): Make non-interactive to avoid confusion
when folks run "M-x erc-status-sidebar-mode" expecting a module
toggle.
* test/lisp/erc/erc-scenarios-status-sidebar.el: New file.
* test/lisp/erc/resources/base/gapless-connect/foonet.eld: Fix wrong
manifest for channel and extend PASS timeout.  (Bug#63595)
2023-07-13 18:45:31 -07:00
F. Jason Park
922ad23840 Add user-oriented test scenarios for ERC
* test/lisp/erc/erc-scenarios-base-association-nick.el: New file.
* test/lisp/erc/erc-scenarios-base-association-samenet.el: New file.
* test/lisp/erc/erc-scenarios-base-association.el: New file.
* test/lisp/erc/erc-scenarios-base-compat-rename-bouncer.el: New file.
* test/lisp/erc/erc-scenarios-base-misc-regressions.el: New file.
* test/lisp/erc/erc-scenarios-base-netid-bouncer-id.el: New file.
* test/lisp/erc/erc-scenarios-base-netid-bouncer-recon-base.el: New file.
* test/lisp/erc/erc-scenarios-base-netid-bouncer-recon-both.el: New file.
* test/lisp/erc/erc-scenarios-base-netid-bouncer-recon-id.el: New file.
* test/lisp/erc/erc-scenarios-base-netid-bouncer.el: New file.
* test/lisp/erc/erc-scenarios-base-netid-samenet.el: New file.
* test/lisp/erc/erc-scenarios-base-reconnect.el: New file.
* test/lisp/erc/erc-scenarios-base-renick.el: New file.
* test/lisp/erc/erc-scenarios-base-reuse-buffers.el: New file.
* test/lisp/erc/erc-scenarios-base-unstable.el: New file.
* test/lisp/erc/erc-scenarios-base-upstream-recon-soju.el: New file.
* test/lisp/erc/erc-scenarios-base-upstream-recon-znc.el: New file.
* test/lisp/erc/erc-scenarios-misc.el: New file.
* test/lisp/erc/erc-scenarios-services-misc.el: New file.
* test/lisp/erc/resources/base/assoc/bouncer-history/barnet.eld: New file.
* test/lisp/erc/resources/base/assoc/bouncer-history/foonet.eld: New file.
* test/lisp/erc/resources/base/assoc/bumped/again.eld: New file.
* test/lisp/erc/resources/base/assoc/bumped/foisted.eld: New file.
* test/lisp/erc/resources/base/assoc/bumped/refoisted.eld: New file.
* test/lisp/erc/resources/base/assoc/bumped/renicked.eld: New file.
* test/lisp/erc/resources/base/assoc/multi-net/barnet.eld: New file.
* test/lisp/erc/resources/base/assoc/multi-net/foonet.eld: New file.
* test/lisp/erc/resources/base/assoc/reconplay/again.eld: New file.
* test/lisp/erc/resources/base/assoc/reconplay/foonet.eld: New file.
* test/lisp/erc/resources/base/assoc/samenet/chester.eld: New file.
* test/lisp/erc/resources/base/assoc/samenet/tester.eld: New file.
* test/lisp/erc/resources/base/assoc/samenet/tester2.eld: New file.
* test/lisp/erc/resources/base/channel-buffer-revival/foonet.eld: New file.
* test/lisp/erc/resources/base/flood/soju.eld: New file.
* test/lisp/erc/resources/base/gapless-connect/barnet.eld: New file.
* test/lisp/erc/resources/base/gapless-connect/foonet.eld: New file.
* test/lisp/erc/resources/base/gapless-connect/pass-stub.eld: New file.
* test/lisp/erc/resources/base/netid/bouncer/barnet-again.eld: New file.
* test/lisp/erc/resources/base/netid/bouncer/barnet-drop.eld: New file.
* test/lisp/erc/resources/base/netid/bouncer/barnet.eld: New file.
* test/lisp/erc/resources/base/netid/bouncer/foonet-again.eld: New file.
* test/lisp/erc/resources/base/netid/bouncer/foonet-drop.eld: New file.
* test/lisp/erc/resources/base/netid/bouncer/foonet.eld: New file.
* test/lisp/erc/resources/base/netid/bouncer/stub-again.eld: New file.
* test/lisp/erc/resources/base/netid/samenet/chester.eld: New file.
* test/lisp/erc/resources/base/netid/samenet/tester.eld: New file.
* test/lisp/erc/resources/base/reconnect/aborted-dupe.eld: New file.
* test/lisp/erc/resources/base/reconnect/aborted.eld: New file.
* test/lisp/erc/resources/base/reconnect/options-again.eld: New file.
* test/lisp/erc/resources/base/reconnect/options.eld: New file.
* test/lisp/erc/resources/base/reconnect/timer-last.eld: New file.
* test/lisp/erc/resources/base/reconnect/timer.eld: New file.
* test/lisp/erc/resources/base/renick/queries/bouncer-barnet.eld: New file.
* test/lisp/erc/resources/base/renick/queries/bouncer-foonet.eld: New file.
* test/lisp/erc/resources/base/renick/queries/solo.eld: New file.
* test/lisp/erc/resources/base/renick/self/auto.eld: New file.
* test/lisp/erc/resources/base/renick/self/manual.eld: New file.
* test/lisp/erc/resources/base/renick/self/qual-chester.eld: New file.
* test/lisp/erc/resources/base/renick/self/qual-tester.eld: New file.
* test/lisp/erc/resources/base/reuse-buffers/server/barnet.eld: New file.
* test/lisp/erc/resources/base/reuse-buffers/server/foonet.eld: New file.
* test/lisp/erc/resources/base/upstream-reconnect/soju-barnet.eld: New file.
* test/lisp/erc/resources/base/upstream-reconnect/soju-foonet.eld: New file.
* test/lisp/erc/resources/base/upstream-reconnect/znc-barnet.eld: New file.
* test/lisp/erc/resources/base/upstream-reconnect/znc-foonet.eld: New file.
* test/lisp/erc/resources/erc-scenarios-common.el: New file.
* test/lisp/erc/resources/networks/announced-missing/foonet.eld: New file.
* test/lisp/erc/resources/services/password/libera.eld: New file.

Add test cases for locking down fundamental client behavior, much of
it involving the relationship between buffers and connections.  Also
add accompanying resources subdir containing canned dialog scripts and
common code needed by various tests.  For test cases demoing the
problematic behavior originally described in the initial report, see
update #4 on the bug tracker thread for bug#48598.  Most reside in a
file named test/lisp/erc/erc-scenarios-48598.el introduced by the
patch "Add user-oriented test scenarios for ERC".
2022-06-30 15:03:26 -07:00