Skip to content

Commit a5af5a6

Browse files
committed
Consider unicode chars in impl and tests
1 parent 960180d commit a5af5a6

File tree

3 files changed

+4
-4
lines changed

3 files changed

+4
-4
lines changed

services/webhook/discord.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"net/url"
1212
"strconv"
1313
"strings"
14+
"unicode/utf8"
1415

1516
webhook_model "code.gitea.io/gitea/models/webhook"
1617
"code.gitea.io/gitea/modules/git"
@@ -158,7 +159,7 @@ func (d discordConvertor) Push(p *api.PushPayload) (DiscordPayload, error) {
158159
message := strings.TrimRight(strings.Split(commit.Message, "\n")[0], "\r")
159160

160161
// a limit of 50 is set because GitHub does the same
161-
if len(message) > 50 {
162+
if utf8.RuneCountInString(message) > 50 {
162163
message = fmt.Sprintf("%.47s...", message)
163164
}
164165
text += fmt.Sprintf("[%s](%s) %s - %s", commit.ID[:7], commit.URL, message, commit.Author.Name)

services/webhook/discord_test.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,7 @@ func TestDiscordPayload(t *testing.T) {
8888

8989
assert.Len(t, pl.Embeds, 1)
9090
assert.Equal(t, "[test/repo:test] 2 new commits", pl.Embeds[0].Title)
91-
assert.Equal(t, "[2020558](http://localhost:3000/test/repo/commit/2020558fe2e34debb818a514715839cabd25e778) This is a commit summary that is longer than 50... - user1\n[2020558](http://localhost:3000/test/repo/commit/2020558fe2e34debb818a514715839cabd25e778) This is a commit summary that is longer than 50... - user1", pl.Embeds[0].Description)
92-
assert.Equal(t, "http://localhost:3000/test/repo/src/test", pl.Embeds[0].URL)
91+
assert.Equal(t, "[2020558](http://localhost:3000/test/repo/commit/2020558fe2e34debb818a514715839cabd25e778) This is a commit summary ⚠️⚠️⚠️⚠️ containing 你好... - user1\n[2020558](http://localhost:3000/test/repo/commit/2020558fe2e34debb818a514715839cabd25e778) This is a commit summary ⚠️⚠️⚠️⚠️ containing 你好... - user1", pl.Embeds[0].Description)
9392
assert.Equal(t, p.Sender.UserName, pl.Embeds[0].Author.Name)
9493
assert.Equal(t, setting.AppURL+p.Sender.UserName, pl.Embeds[0].Author.URL)
9594
assert.Equal(t, p.Sender.AvatarURL, pl.Embeds[0].Author.IconURL)

services/webhook/general_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ func pushTestPayload() *api.PushPayload {
6868
}
6969

7070
func pushTestMultilineCommitMessagePayload() *api.PushPayload {
71-
return pushTestPayloadWithCommitMessage("This is a commit summary that is longer than 50 characters\n\nThis is the message body.")
71+
return pushTestPayloadWithCommitMessage("This is a commit summary ⚠️⚠️⚠️⚠️ containing 你好 ⚠️⚠️️\n\nThis is the message body.")
7272
}
7373

7474
func pushTestPayloadWithCommitMessage(message string) *api.PushPayload {

0 commit comments

Comments
 (0)