Ver código fonte

add a test for default channel mode parsing

tags/v0.9.0
Shivaram Lingamneni 6 anos atrás
pai
commit
6063d30bc5
1 arquivos alterados com 36 adições e 0 exclusões
  1. 36
    0
      irc/modes_test.go

+ 36
- 0
irc/modes_test.go Ver arquivo

@@ -0,0 +1,36 @@
1
+// Copyright (c) 2017 Daniel Oaks
2
+// released under the MIT license
3
+
4
+package irc
5
+
6
+import (
7
+	"reflect"
8
+	"testing"
9
+)
10
+
11
+func TestParseDefaultChannelModes(t *testing.T) {
12
+	nt := "+nt"
13
+	n := "+n"
14
+	empty := ""
15
+	tminusi := "+t -i"
16
+
17
+	var parseTests = []struct {
18
+		raw      *string
19
+		expected Modes
20
+	}{
21
+		{&nt, Modes{NoOutside, OpOnlyTopic}},
22
+		{&n, Modes{NoOutside}},
23
+		{&empty, Modes{}},
24
+		{&tminusi, Modes{OpOnlyTopic}},
25
+		{nil, Modes{NoOutside, OpOnlyTopic}},
26
+	}
27
+
28
+	var config Config
29
+	for _, testcase := range parseTests {
30
+		config.Channels.DefaultModes = testcase.raw
31
+		result := ParseDefaultChannelModes(&config)
32
+		if !reflect.DeepEqual(result, testcase.expected) {
33
+			t.Errorf("expected modes %s, got %s", testcase.expected, result)
34
+		}
35
+	}
36
+}

Carregando…
Cancelar
Salvar