mirror of
https://github.com/ergochat/ergo.git
synced 2024-11-14 07:59:31 +01:00
37 lines
738 B
Go
37 lines
738 B
Go
// 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)
|
|
}
|
|
}
|
|
}
|