diff options
Diffstat (limited to 'bridge/discord/helpers_test.go')
-rw-r--r-- | bridge/discord/helpers_test.go | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/bridge/discord/helpers_test.go b/bridge/discord/helpers_test.go new file mode 100644 index 00000000..0f196d9a --- /dev/null +++ b/bridge/discord/helpers_test.go @@ -0,0 +1,46 @@ +package bdiscord + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestEnumerateUsernames(t *testing.T) { + testcases := map[string]struct { + match string + expectedUsernames []string + }{ + "only space": { + match: " \t\n \t", + expectedUsernames: nil, + }, + "single word": { + match: "veni", + expectedUsernames: []string{"veni"}, + }, + "single word with preceeding space": { + match: " vidi", + expectedUsernames: []string{" vidi"}, + }, + "single word with suffixed space": { + match: "vici ", + expectedUsernames: []string{"vici"}, + }, + "multi-word with varying whitespace": { + match: "just me and\tmy friends \t", + expectedUsernames: []string{ + "just", + "just me", + "just me and", + "just me and\tmy", + "just me and\tmy friends", + }, + }, + } + + for testname, testcase := range testcases { + foundUsernames := enumerateUsernames(testcase.match) + assert.Equalf(t, testcase.expectedUsernames, foundUsernames, "Should have found the expected usernames for testcase %s", testname) + } +} |