List the missing channel modes in the 004 reply (closes #238)
check / check (push) Waiting to run

The channel-modes parameter of RPL_MYINFO left out modes that each
transport's MODE accepts. The IRC listener now sends Himnostv, adding
H, i, o and v. The HTTP API now sends Hbiklmnostv, adding H, b and v.
Each transport keeps its own list, because they accept different
modes. The tests compare the whole parameter, so a missing or extra
mode fails them. The README and the schema notes show the new HTTP API
list.

Model: opus-5-5
This commit was merged in pull request #240.
This commit is contained in:
2026-11-02 04:48:18 +01:00
parent cc18397ee1
commit 6a7989e08d
6 changed files with 21 additions and 18 deletions
+7 -5
View File
@@ -6797,9 +6797,10 @@ func TestISUPPORT(t *testing.T) {
}
}
// TestMyInfoListsUserModes verifies the 004 numeric lists
// the user modes o and w as its third parameter.
func TestMyInfoListsUserModes(t *testing.T) {
// TestMyInfoListsModes verifies the 004 numeric lists the
// user modes o and w as its third parameter, and the HTTP
// API's channel modes Hbiklmnostv as its fourth.
func TestMyInfoListsModes(t *testing.T) {
t.Parallel()
tserver := newTestServer(t)
@@ -6813,9 +6814,10 @@ func TestMyInfoListsUserModes(t *testing.T) {
}
params := getNumericParams(myInfo)
if len(params) != 4 || params[2] != "ow" {
if len(params) != 4 || params[2] != "ow" ||
params[3] != "Hbiklmnostv" {
t.Fatalf(
"004 params %v, want four with user modes ow third",
"004 params %v, want four ending ow Hbiklmnostv",
params,
)
}