fix reaction's name validation with + sign in it (#6221)
Этот коммит содержится в:
коммит произвёл
Harrison Healey
родитель
f9502ff14b
Коммит
6fa7082833
@@ -6,6 +6,7 @@ package model
|
||||
import (
|
||||
"encoding/json"
|
||||
"io"
|
||||
"regexp"
|
||||
)
|
||||
|
||||
type Reaction struct {
|
||||
@@ -60,7 +61,9 @@ func (o *Reaction) IsValid() *AppError {
|
||||
return NewLocAppError("Reaction.IsValid", "model.reaction.is_valid.post_id.app_error", nil, "post_id="+o.PostId)
|
||||
}
|
||||
|
||||
if len(o.EmojiName) == 0 || len(o.EmojiName) > 64 || !IsValidAlphaNumHyphenUnderscore(o.EmojiName, false) {
|
||||
validName := regexp.MustCompile(`^[a-zA-Z0-9\-\+_]+$`)
|
||||
|
||||
if len(o.EmojiName) == 0 || len(o.EmojiName) > 64 || !validName.MatchString(o.EmojiName) {
|
||||
return NewLocAppError("Reaction.IsValid", "model.reaction.is_valid.emoji_name.app_error", nil, "emoji_name="+o.EmojiName)
|
||||
}
|
||||
|
||||
|
||||
@@ -42,16 +42,6 @@ func TestReactionIsValid(t *testing.T) {
|
||||
}
|
||||
|
||||
reaction.PostId = NewId()
|
||||
reaction.EmojiName = ""
|
||||
if err := reaction.IsValid(); err == nil {
|
||||
t.Fatal("emoji name should be invalid")
|
||||
}
|
||||
|
||||
reaction.EmojiName = strings.Repeat("a", 65)
|
||||
if err := reaction.IsValid(); err == nil {
|
||||
t.Fatal("emoji name should be invalid")
|
||||
}
|
||||
|
||||
reaction.EmojiName = strings.Repeat("a", 64)
|
||||
if err := reaction.IsValid(); err != nil {
|
||||
t.Fatal(err)
|
||||
@@ -67,11 +57,26 @@ func TestReactionIsValid(t *testing.T) {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
reaction.EmojiName = "+1"
|
||||
if err := reaction.IsValid(); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
reaction.EmojiName = "emoji:"
|
||||
if err := reaction.IsValid(); err == nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
reaction.EmojiName = ""
|
||||
if err := reaction.IsValid(); err == nil {
|
||||
t.Fatal("emoji name should be invalid")
|
||||
}
|
||||
|
||||
reaction.EmojiName = strings.Repeat("a", 65)
|
||||
if err := reaction.IsValid(); err == nil {
|
||||
t.Fatal("emoji name should be invalid")
|
||||
}
|
||||
|
||||
reaction.CreateAt = 0
|
||||
if err := reaction.IsValid(); err == nil {
|
||||
t.Fatal("create at should be invalid")
|
||||
|
||||
Ссылка в новой задаче
Block a user