mirror of
https://github.com/jeremyd/ergo.git
synced 2026-07-28 09:48:13 -07:00
remove hashset from mode parsing
This commit is contained in:
+4
-10
@@ -190,10 +190,7 @@ func GetLowestChannelModePrefix(prefixes string) (lowest Mode) {
|
||||
//
|
||||
|
||||
// ParseUserModeChanges returns the valid changes, and the list of unknown chars.
|
||||
func ParseUserModeChanges(params ...string) (ModeChanges, map[rune]bool) {
|
||||
changes := make(ModeChanges, 0)
|
||||
unknown := make(map[rune]bool)
|
||||
|
||||
func ParseUserModeChanges(params ...string) (changes ModeChanges, unknown []rune) {
|
||||
op := List
|
||||
|
||||
if 0 < len(params) {
|
||||
@@ -223,7 +220,7 @@ func ParseUserModeChanges(params ...string) (ModeChanges, map[rune]bool) {
|
||||
if slices.Contains(SupportedUserModes, Mode(mode)) {
|
||||
changes = append(changes, change)
|
||||
} else {
|
||||
unknown[mode] = true
|
||||
unknown = append(unknown, mode)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -232,10 +229,7 @@ func ParseUserModeChanges(params ...string) (ModeChanges, map[rune]bool) {
|
||||
}
|
||||
|
||||
// ParseChannelModeChanges returns the valid changes, and the list of unknown chars.
|
||||
func ParseChannelModeChanges(params ...string) (ModeChanges, map[rune]bool) {
|
||||
changes := make(ModeChanges, 0)
|
||||
unknown := make(map[rune]bool)
|
||||
|
||||
func ParseChannelModeChanges(params ...string) (changes ModeChanges, unknown []rune) {
|
||||
op := List
|
||||
|
||||
if 0 < len(params) {
|
||||
@@ -300,7 +294,7 @@ func ParseChannelModeChanges(params ...string) (ModeChanges, map[rune]bool) {
|
||||
if slices.Contains(SupportedChannelModes, Mode(mode)) || slices.Contains(ChannelUserModes, Mode(mode)) {
|
||||
changes = append(changes, change)
|
||||
} else {
|
||||
unknown[mode] = true
|
||||
unknown = append(unknown, mode)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ package modes
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
"slices"
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
@@ -16,7 +17,7 @@ func assertEqual(supplied, expected interface{}, t *testing.T) {
|
||||
}
|
||||
|
||||
func TestParseUserModeChanges(t *testing.T) {
|
||||
emptyUnknown := make(map[rune]bool)
|
||||
var emptyUnknown []rune
|
||||
changes, unknown := ParseUserModeChanges("+i")
|
||||
assertEqual(unknown, emptyUnknown, t)
|
||||
assertEqual(changes, ModeChanges{ModeChange{Op: Add, Mode: Invisible}}, t)
|
||||
@@ -48,10 +49,11 @@ func TestParseUserModeChanges(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestIssue874(t *testing.T) {
|
||||
emptyUnknown := make(map[rune]bool)
|
||||
var emptyModeChanges ModeChanges
|
||||
var emptyUnknown []rune
|
||||
modes, unknown := ParseChannelModeChanges("+k")
|
||||
assertEqual(unknown, emptyUnknown, t)
|
||||
assertEqual(modes, ModeChanges{}, t)
|
||||
assertEqual(modes, emptyModeChanges, t)
|
||||
|
||||
modes, unknown = ParseChannelModeChanges("+k", "beer")
|
||||
assertEqual(unknown, emptyUnknown, t)
|
||||
@@ -151,7 +153,7 @@ func TestParseChannelModeChanges(t *testing.T) {
|
||||
}
|
||||
|
||||
modes, unknown = ParseChannelModeChanges("+tx")
|
||||
if len(unknown) != 1 || !unknown['x'] {
|
||||
if len(unknown) != 1 || !slices.Contains(unknown, 'x') {
|
||||
t.Errorf("expected that x is an unknown mode, instead: %v", unknown)
|
||||
}
|
||||
expected = ModeChange{
|
||||
|
||||
Reference in New Issue
Block a user