1
0
Fork 0
forked from External/ergo

partial implementation of #729

This propagates CS AMODE changes to the actual modes, but not the other
way around.

Also fixes #909.
This commit is contained in:
Shivaram Lingamneni 2020-03-25 12:08:08 -04:00
parent f4e9c79e36
commit f5fe580d22
6 changed files with 94 additions and 77 deletions

View file

@ -219,6 +219,22 @@ func TestHighestChannelUserMode(t *testing.T) {
}
}
func TestModeChangesString(t *testing.T) {
m := ModeChanges{
ModeChange{Op: Add, Mode: RegisteredOnly},
ModeChange{Op: Add, Mode: Key, Arg: "beer"},
ModeChange{Op: Add, Mode: BanMask, Arg: "shivaram"},
}
assertEqual(m.Strings(), []string{"+Rkb", "beer", "shivaram"}, t)
m = ModeChanges{
ModeChange{Op: Add, Mode: RegisteredOnly},
ModeChange{Op: Remove, Mode: Key, Arg: "beer"},
ModeChange{Op: Add, Mode: BanMask, Arg: "shivaram"},
}
assertEqual(m.Strings(), []string{"+R-k+b", "beer", "shivaram"}, t)
}
func BenchmarkModeString(b *testing.B) {
set := NewModeSet()
set.SetMode('A', true)