|
@@ -35,6 +35,31 @@ func TestParseDefaultChannelModes(t *testing.T) {
|
35
|
35
|
}
|
36
|
36
|
}
|
37
|
37
|
|
|
38
|
+func TestParseDefaultUserModes(t *testing.T) {
|
|
39
|
+ iR := "+iR"
|
|
40
|
+ i := "+i"
|
|
41
|
+ empty := ""
|
|
42
|
+ rminusi := "+R -i"
|
|
43
|
+
|
|
44
|
+ var parseTests = []struct {
|
|
45
|
+ raw *string
|
|
46
|
+ expected modes.Modes
|
|
47
|
+ }{
|
|
48
|
+ {&iR, modes.Modes{modes.Invisible, modes.RegisteredOnly}},
|
|
49
|
+ {&i, modes.Modes{modes.Invisible}},
|
|
50
|
+ {&empty, modes.Modes{}},
|
|
51
|
+ {&rminusi, modes.Modes{modes.RegisteredOnly}},
|
|
52
|
+ {nil, modes.Modes{}},
|
|
53
|
+ }
|
|
54
|
+
|
|
55
|
+ for _, testcase := range parseTests {
|
|
56
|
+ result := ParseDefaultUserModes(testcase.raw)
|
|
57
|
+ if !reflect.DeepEqual(result, testcase.expected) {
|
|
58
|
+ t.Errorf("expected modes %s, got %s", testcase.expected, result)
|
|
59
|
+ }
|
|
60
|
+ }
|
|
61
|
+}
|
|
62
|
+
|
38
|
63
|
func TestUmodeGreaterThan(t *testing.T) {
|
39
|
64
|
if !umodeGreaterThan(modes.Halfop, modes.Voice) {
|
40
|
65
|
t.Errorf("expected Halfop > Voice")
|