summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/notification.go3
-rw-r--r--app/notification_test.go18
2 files changed, 21 insertions, 0 deletions
diff --git a/app/notification.go b/app/notification.go
index 1318308f8..6531f72f7 100644
--- a/app/notification.go
+++ b/app/notification.go
@@ -832,6 +832,9 @@ func GetExplicitMentions(message string, keywords map[string][]string) *Explicit
continue
}
+ // remove trailing '.', as that is the end of a sentence
+ word = strings.TrimSuffix(word, ".")
+
if word == "@here" {
ret.HereMentioned = true
}
diff --git a/app/notification_test.go b/app/notification_test.go
index 11f4df685..7f2a63ab9 100644
--- a/app/notification_test.go
+++ b/app/notification_test.go
@@ -109,6 +109,15 @@ func TestGetExplicitMentions(t *testing.T) {
},
},
},
+ "OnePersonAtEndOfSentence": {
+ Message: "this is a message for @user.",
+ Keywords: map[string][]string{"@user": {id1}},
+ Expected: &ExplicitMentions{
+ MentionedUserIds: map[string]bool{
+ id1: true,
+ },
+ },
+ },
"OnePersonWithoutAtMention": {
Message: "this is a message for @user",
Keywords: map[string][]string{"this": {id1}},
@@ -179,6 +188,15 @@ func TestGetExplicitMentions(t *testing.T) {
},
},
},
+ "UserWithPeriodAtEndOfSentence": {
+ Message: "this is a message for user.period.",
+ Keywords: map[string][]string{"user.period": {id1}},
+ Expected: &ExplicitMentions{
+ MentionedUserIds: map[string]bool{
+ id1: true,
+ },
+ },
+ },
"PotentialOutOfChannelUser": {
Message: "this is an message for @potential and @user",
Keywords: map[string][]string{"@user": {id1}},