summaryrefslogtreecommitdiffstats
path: root/bridge/discord/helpers_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'bridge/discord/helpers_test.go')
-rw-r--r--bridge/discord/helpers_test.go46
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)
+ }
+}