1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-06 23:51:24 -08:00
emacs/test/lisp/erc/resources/base
F. Jason Park aedc8b55bf Actually derive channel membership from PREFIX in ERC
* lisp/erc/erc-backend.el (erc--with-isupport-data): Add comment for
possibly superior alternate implementation.
* lisp/erc/erc-common.el (erc--get-isupport-entry): Use helper to
initialize traditional prefix slots in overridden well-known
constructor.
(erc--parsed-prefix): Reverse order of characters in the `letters'
and `statuses' slots, in their defaults and also their definitions.
(erc--strpos): New function, a utility for finding a single character
in a string.
* lisp/erc/erc.el (erc--define-channel-user-status-compat-getter):
Modify to query advertised value for associated mode letter at runtime
instead of baking it in.
(erc-channel-user-voice, erc-channel-user-halfop, erc-channel-user-op,
erc-channel-user-admin, erc-channel-user-owner): Supply second
argument for fallback mode letter.
(erc--cusr-status-p, erc--cusr-change-status): New functions for
querying and modifying `erc-channel-user' statuses.
(erc-send-input-line): Update speaker time in own nick's
`erc-channel-member' entry.
(erc-get-channel-membership-prefix): Adapt code to prefer advertised
prefix for mode letter.
(erc--parsed-prefix): Save "reversed" `letters' and `statuses' so that
they're ordered from lowest to highest semantically.
(erc--get-prefix-flag, erc--init-cusr-fallback-status,
erc--compute-cusr-fallback-status): New functions for retrieving
internal prefix values and massaging hard-coded traditional prefixes
so they're compatible with existing `erc-channel-member' update code.
(erc--partition-prefixed-names): New function, separated for testing
and for conversion to a generic in the future when ERC supports
extensions that list member rolls in a different format.
(erc-channel-receive-names): Refactor to use new status-aware update
and init workhorse functions for updating and initializing a
`erc-channel-members' entry.
(erc--create-current-channel-member): New "status-aware" function
comprising the `addp' path of `erc-update-current-channel-member'.
(erc--update-current-channel-member): New "status-aware" function
comprising the "update" path of `erc-update-current-channel-member',
which ran when an existing `erc-channel-members' entry for the queried
nick was found.
(erc-update-current-channel-member): Split code body into two
constituent functions, both for readability and for usability, so
callers can more explicitly request the desired operation in a
"status-aware" manner.
(erc--update-membership-prefix): Remove unused function, originally
meant to be new in ERC 5.6.
(erc--process-channel-modes): Call `erc--cusr-change-status' instead
of `erc--update-membership-prefix'.
(erc--shuffle-nuh-nickward): New utility function to ensure code like
`erc--partition-prefixed-names' can use `erc--parse-nuh' in a
practical and relatively convenient way in the near future.
* test/lisp/erc/erc-scenarios-base-chan-modes.el
(erc-scenarios-base-chan-modes--speaker-status): New test.
* test/lisp/erc/erc-tests.el (erc--parsed-prefix): Reverse expected
order of various slot values in `erc--parsed-prefix' objects.
(erc--get-prefix-flag, erc--init-cusr-fallback-status,
erc--compute-cusr-fallback-status, erc--cusr-status-p,
erc--cusr-change-status): New tests.
(erc--update-channel-modes, erc-process-input-line): Use newly
available utilities imported from common library.
* test/lisp/erc/resources/base/modes/speaker-status.eld: New file.
(Bug#67220)
2024-01-24 20:58:32 -08:00
..
assoc ; Prepare for ERC 5.6 release 2023-11-12 20:37:49 -08:00
auth-source Standardize auth-source queries in ERC 2022-06-30 15:18:22 -07:00
channel-buffer-revival Revive option erc-query-on-unjoined-chan-privmsg 2023-05-05 17:18:01 -07:00
display-message Use templates for formatting chat messages in ERC 2023-12-17 20:17:55 -08:00
flood ; Allow alternate ert-info text in ERC test utility 2023-09-10 17:58:20 -07:00
gapless-connect Add preset styles to erc-status-sidebar 2023-07-13 18:45:31 -07:00
local-modules Allow selecting graphical ERC tests manually 2023-12-27 21:32:25 -08:00
mask-target-routing
modes Actually derive channel membership from PREFIX in ERC 2024-01-24 20:58:32 -08:00
netid Allow spoofing process marker in erc-display-line-1 2023-10-13 07:47:00 -07:00
reconnect ; Attempt to fix race in erc-buffer-display test 2023-11-01 16:14:10 -07:00
renick ; Mark erc-log test as :unstable 2023-10-20 14:53:23 -07:00
reuse-buffers ; Mark test for erc--update-channel-modes as :unstable 2023-11-25 15:59:58 -08:00
send-message Make nested input handling more robust in ERC 2023-11-12 20:37:48 -08:00
upstream-reconnect ; Fix typos: prefer American spelling 2022-07-14 12:13:31 +02:00