From 6063d30bc524a7a75589a18b44e085c7b26de93d Mon Sep 17 00:00:00 2001 From: Shivaram Lingamneni Date: Wed, 6 Sep 2017 19:26:16 -0400 Subject: [PATCH] add a test for default channel mode parsing --- irc/modes_test.go | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 irc/modes_test.go diff --git a/irc/modes_test.go b/irc/modes_test.go new file mode 100644 index 00000000..930e9a56 --- /dev/null +++ b/irc/modes_test.go @@ -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) + } + } +}