use base.TruncateString instead of TruncateRune
This commit is contained in:
@@ -54,12 +54,3 @@ func SplitTrimSpace(input, sep string) []string {
|
||||
|
||||
return stringList
|
||||
}
|
||||
|
||||
// TruncateRunes returns a truncated string with given rune limit,
|
||||
// it returns input string if its rune length doesn't exceed the limit.
|
||||
func TruncateRunes(str string, limit int) string {
|
||||
if utf8.RuneCountInString(str) < limit {
|
||||
return str
|
||||
}
|
||||
return string([]rune(str)[:limit])
|
||||
}
|
||||
|
||||
@@ -44,18 +44,3 @@ func TestSplitString(t *testing.T) {
|
||||
}
|
||||
test(tc, SplitStringAtByteN)
|
||||
}
|
||||
|
||||
func TestTruncateRunes(t *testing.T) {
|
||||
assert.Empty(t, TruncateRunes("", 0))
|
||||
assert.Empty(t, TruncateRunes("", 1))
|
||||
|
||||
assert.Empty(t, TruncateRunes("ab", 0))
|
||||
assert.Equal(t, "a", TruncateRunes("ab", 1))
|
||||
assert.Equal(t, "ab", TruncateRunes("ab", 2))
|
||||
assert.Equal(t, "ab", TruncateRunes("ab", 3))
|
||||
|
||||
assert.Empty(t, TruncateRunes("测试", 0))
|
||||
assert.Equal(t, "测", TruncateRunes("测试", 1))
|
||||
assert.Equal(t, "测试", TruncateRunes("测试", 2))
|
||||
assert.Equal(t, "测试", TruncateRunes("测试", 3))
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ import (
|
||||
"unicode/utf8"
|
||||
|
||||
webhook_model "forgejo.org/models/webhook"
|
||||
"forgejo.org/modules/base"
|
||||
"forgejo.org/modules/git"
|
||||
"forgejo.org/modules/json"
|
||||
"forgejo.org/modules/log"
|
||||
@@ -364,7 +365,7 @@ func (d discordConvertor) createPayload(s *api.User, title, text, url string, co
|
||||
Embeds: []DiscordEmbed{
|
||||
{
|
||||
Title: title,
|
||||
Description: util.TruncateRunes(text, discordDescriptionCharactersLimit),
|
||||
Description: base.TruncateString(text, discordDescriptionCharactersLimit),
|
||||
URL: url,
|
||||
Color: color,
|
||||
Author: DiscordEmbedAuthor{
|
||||
|
||||
Reference in New Issue
Block a user