From 2a1759ba3be4fc63bf79d40e17ca86ae109c9e4e Mon Sep 17 00:00:00 2001 From: Michael Jerger Date: Thu, 10 Apr 2025 13:49:18 +0200 Subject: [PATCH] use base.TruncateString instead of TruncateRune --- modules/util/truncate.go | 9 --------- modules/util/truncate_test.go | 15 --------------- services/webhook/discord.go | 3 ++- 3 files changed, 2 insertions(+), 25 deletions(-) diff --git a/modules/util/truncate.go b/modules/util/truncate.go index 7207a89177..f2edbdc673 100644 --- a/modules/util/truncate.go +++ b/modules/util/truncate.go @@ -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]) -} diff --git a/modules/util/truncate_test.go b/modules/util/truncate_test.go index 8187b13eb2..dfe1230fd4 100644 --- a/modules/util/truncate_test.go +++ b/modules/util/truncate_test.go @@ -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)) -} diff --git a/services/webhook/discord.go b/services/webhook/discord.go index f60903c276..2b58bf892d 100644 --- a/services/webhook/discord.go +++ b/services/webhook/discord.go @@ -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{