From 7122fb180cfb877129dd12c4619794b914668630 Mon Sep 17 00:00:00 2001 From: Shivaram Lingamneni Date: Wed, 23 May 2018 16:14:23 -0400 Subject: [PATCH] add a test --- irc/modes/modes_test.go | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/irc/modes/modes_test.go b/irc/modes/modes_test.go index 8f20bdfc..f68c79a7 100644 --- a/irc/modes/modes_test.go +++ b/irc/modes/modes_test.go @@ -8,6 +8,47 @@ import ( "testing" ) +func TestParseChannelModeChanges(t *testing.T) { + modes, unknown := ParseChannelModeChanges("+h", "wrmsr") + if len(unknown) > 0 { + t.Errorf("unexpected unknown mode change: %v", unknown) + } + expected := ModeChange{ + Op: Add, + Mode: Halfop, + Arg: "wrmsr", + } + if len(modes) != 1 || modes[0] != expected { + t.Errorf("unexpected mode change: %v", modes) + } + + modes, unknown = ParseChannelModeChanges("-v", "shivaram") + if len(unknown) > 0 { + t.Errorf("unexpected unknown mode change: %v", unknown) + } + expected = ModeChange{ + Op: Remove, + Mode: Voice, + Arg: "shivaram", + } + if len(modes) != 1 || modes[0] != expected { + t.Errorf("unexpected mode change: %v", modes) + } + + modes, unknown = ParseChannelModeChanges("+tx") + if len(unknown) != 1 || !unknown['x'] { + t.Errorf("expected that x is an unknown mode, instead: %v", unknown) + } + expected = ModeChange{ + Op: Add, + Mode: OpOnlyTopic, + Arg: "", + } + if len(modes) != 1 || modes[0] != expected { + t.Errorf("unexpected mode change: %v", modes) + } +} + func TestSetMode(t *testing.T) { set := NewModeSet()