mirror of
https://github.com/ergochat/ergo.git
synced 2024-11-29 15:40:02 +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)
|
||
|
}
|
||
|
}
|
||
|
}
|