Browse Source

Add test for ParseDefaultUserModes.

tags/v2.1.0-rc1
Alex Jaspersen 4 years ago
parent
commit
52910a185c
1 changed files with 25 additions and 0 deletions
  1. 25
    0
      irc/modes_test.go

+ 25
- 0
irc/modes_test.go View File

@@ -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")

Loading…
Cancel
Save