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 55 return stringList 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 - }
··· 54 55 return stringList 56 }
-15
modules/util/truncate_test.go
··· 44 } 45 test(tc, SplitStringAtByteN) 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 - }
··· 44 } 45 test(tc, SplitStringAtByteN) 46 }
+2 -1
services/webhook/discord.go
··· 16 "unicode/utf8" 17 18 webhook_model "forgejo.org/models/webhook" 19 "forgejo.org/modules/git" 20 "forgejo.org/modules/json" 21 "forgejo.org/modules/log" ··· 364 Embeds: []DiscordEmbed{ 365 { 366 Title: title, 367 - Description: util.TruncateRunes(text, discordDescriptionCharactersLimit), 368 URL: url, 369 Color: color, 370 Author: DiscordEmbedAuthor{
··· 16 "unicode/utf8" 17 18 webhook_model "forgejo.org/models/webhook" 19 + "forgejo.org/modules/base" 20 "forgejo.org/modules/git" 21 "forgejo.org/modules/json" 22 "forgejo.org/modules/log" ··· 365 Embeds: []DiscordEmbed{ 366 { 367 Title: title, 368 + Description: base.TruncateString(text, discordDescriptionCharactersLimit), 369 URL: url, 370 Color: color, 371 Author: DiscordEmbedAuthor{