MM-10036 Ensured correct handling of capitalized special mentions (#8607)

Этот коммит содержится в:
Harrison Healey
2018-04-11 10:33:20 -04:00
коммит произвёл Joram Wilander
родитель 332411490d
Коммит 2d0fef4d94
2 изменённых файлов: 27 добавлений и 3 удалений

Просмотреть файл

@@ -842,15 +842,15 @@ func GetExplicitMentions(message string, keywords map[string][]string) *Explicit
checkForMention := func(word string) bool { checkForMention := func(word string) bool {
isMention := false isMention := false
if word == "@here" { if strings.ToLower(word) == "@here" {
ret.HereMentioned = true ret.HereMentioned = true
} }
if word == "@channel" { if strings.ToLower(word) == "@channel" {
ret.ChannelMentioned = true ret.ChannelMentioned = true
} }
if word == "@all" { if strings.ToLower(word) == "@all" {
ret.AllMentioned = true ret.AllMentioned = true
} }

Просмотреть файл

@@ -186,6 +186,17 @@ func TestGetExplicitMentions(t *testing.T) {
ChannelMentioned: true, ChannelMentioned: true,
}, },
}, },
"CapitalizedChannel": {
Message: "this is an message for @cHaNNeL",
Keywords: map[string][]string{"@channel": {id1, id2}},
Expected: &ExplicitMentions{
MentionedUserIds: map[string]bool{
id1: true,
id2: true,
},
ChannelMentioned: true,
},
},
"All": { "All": {
Message: "this is an message for @all", Message: "this is an message for @all",
Keywords: map[string][]string{"@all": {id1, id2}}, Keywords: map[string][]string{"@all": {id1, id2}},
@@ -197,6 +208,17 @@ func TestGetExplicitMentions(t *testing.T) {
AllMentioned: true, AllMentioned: true,
}, },
}, },
"CapitalizedAll": {
Message: "this is an message for @ALL",
Keywords: map[string][]string{"@all": {id1, id2}},
Expected: &ExplicitMentions{
MentionedUserIds: map[string]bool{
id1: true,
id2: true,
},
AllMentioned: true,
},
},
"UserWithPeriod": { "UserWithPeriod": {
Message: "user.period doesn't complicate things at all by including periods in their username", Message: "user.period doesn't complicate things at all by including periods in their username",
Keywords: map[string][]string{"user.period": {id1}, "user": {id2}}, Keywords: map[string][]string{"user.period": {id1}, "user": {id2}},
@@ -439,6 +461,8 @@ func TestGetExplicitMentionsAtHere(t *testing.T) {
"?@here?": true, "?@here?": true,
"`@here`": false, // This case shouldn't mention since it's a code block "`@here`": false, // This case shouldn't mention since it's a code block
"~@here~": true, "~@here~": true,
"@HERE": true,
"@hERe": true,
} }
for message, shouldMention := range cases { for message, shouldMention := range cases {