package deliberi
import (
"reflect"
"testing"
)
func TestExtractMentionHandles(t *testing.T) {
got := extractMentionHandles("hey @bob.tngl.sh and @carol.tngl.sh, thanks!")
want := []string{"bob.tngl.sh", "carol.tngl.sh"}
if !reflect.DeepEqual(got, want) {
t.Fatalf("got %v, want %v", got, want)
}
}
func TestExtractMentionHandlesDedupes(t *testing.T) {
got := extractMentionHandles("@bob.tngl.sh ping @bob.tngl.sh again")
want := []string{"bob.tngl.sh"}
if !reflect.DeepEqual(got, want) {
t.Fatalf("got %v, want %v", got, want)
}
}
func TestExtractMentionHandlesNone(t *testing.T) {
if got := extractMentionHandles("no mentions in this body"); got != nil {
t.Fatalf("got %v, want nil", got)
}
}
func TestExtractMentionHandlesEmptyBody(t *testing.T) {
if got := extractMentionHandles(""); got != nil {
t.Fatalf("got %v, want nil", got)
}
}