loading up the forgejo repo on tangled to test page performance

use base.TruncateString instead of TruncateRune

Changed files
+2 -25
modules
services
webhook
-9
modules/util/truncate.go
··· 54 54 55 55 return stringList 56 56 } 57 - 58 - // TruncateRunes returns a truncated string with given rune limit, 59 - // it returns input string if its rune length doesn't exceed the limit. 60 - func TruncateRunes(str string, limit int) string { 61 - if utf8.RuneCountInString(str) < limit { 62 - return str 63 - } 64 - return string([]rune(str)[:limit]) 65 - }
-15
modules/util/truncate_test.go
··· 44 44 } 45 45 test(tc, SplitStringAtByteN) 46 46 } 47 - 48 - func TestTruncateRunes(t *testing.T) { 49 - assert.Empty(t, TruncateRunes("", 0)) 50 - assert.Empty(t, TruncateRunes("", 1)) 51 - 52 - assert.Empty(t, TruncateRunes("ab", 0)) 53 - assert.Equal(t, "a", TruncateRunes("ab", 1)) 54 - assert.Equal(t, "ab", TruncateRunes("ab", 2)) 55 - assert.Equal(t, "ab", TruncateRunes("ab", 3)) 56 - 57 - assert.Empty(t, TruncateRunes("测试", 0)) 58 - assert.Equal(t, "测", TruncateRunes("测试", 1)) 59 - assert.Equal(t, "测试", TruncateRunes("测试", 2)) 60 - assert.Equal(t, "测试", TruncateRunes("测试", 3)) 61 - }
+2 -1
services/webhook/discord.go
··· 16 16 "unicode/utf8" 17 17 18 18 webhook_model "forgejo.org/models/webhook" 19 + "forgejo.org/modules/base" 19 20 "forgejo.org/modules/git" 20 21 "forgejo.org/modules/json" 21 22 "forgejo.org/modules/log" ··· 364 365 Embeds: []DiscordEmbed{ 365 366 { 366 367 Title: title, 367 - Description: util.TruncateRunes(text, discordDescriptionCharactersLimit), 368 + Description: base.TruncateString(text, discordDescriptionCharactersLimit), 368 369 URL: url, 369 370 Color: color, 370 371 Author: DiscordEmbedAuthor{