add a test for default channel mode parsing

This commit is contained in:
Shivaram Lingamneni 2017-09-06 19:26:16 -04:00
parent 333afe1062
commit 6063d30bc5
1 changed files with 36 additions and 0 deletions

36
irc/modes_test.go Normal file
View File

@ -0,0 +1,36 @@
// Copyright (c) 2017 Daniel Oaks
// released under the MIT license
package irc
import (
"reflect"
"testing"
)
func TestParseDefaultChannelModes(t *testing.T) {
nt := "+nt"
n := "+n"
empty := ""
tminusi := "+t -i"
var parseTests = []struct {
raw *string
expected Modes
}{
{&nt, Modes{NoOutside, OpOnlyTopic}},
{&n, Modes{NoOutside}},
{&empty, Modes{}},
{&tminusi, Modes{OpOnlyTopic}},
{nil, Modes{NoOutside, OpOnlyTopic}},
}
var config Config
for _, testcase := range parseTests {
config.Channels.DefaultModes = testcase.raw
result := ParseDefaultChannelModes(&config)
if !reflect.DeepEqual(result, testcase.expected) {
t.Errorf("expected modes %s, got %s", testcase.expected, result)
}
}
}