Skip to content

Commit e8b5c67

Browse files
committed
fix
1 parent db0947b commit e8b5c67

File tree

5 files changed

+48
-55
lines changed

5 files changed

+48
-55
lines changed

modules/charset/escape_test.go

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -132,18 +132,10 @@ then resh (ר), and finally heh (ה) (which should appear leftmost).`,
132132
},
133133
}
134134

135-
type nullLocale struct{}
136-
137-
func (nullLocale) Language() string { return "" }
138-
func (nullLocale) Tr(key string, _ ...interface{}) string { return key }
139-
func (nullLocale) TrN(cnt interface{}, key1, keyN string, args ...interface{}) string { return "" }
140-
141-
var _ (translation.Locale) = nullLocale{}
142-
143135
func TestEscapeControlString(t *testing.T) {
144136
for _, tt := range escapeControlTests {
145137
t.Run(tt.name, func(t *testing.T) {
146-
status, result := EscapeControlString(tt.text, nullLocale{})
138+
status, result := EscapeControlString(tt.text, &translation.MockLocale{})
147139
if !reflect.DeepEqual(*status, tt.status) {
148140
t.Errorf("EscapeControlString() status = %v, wanted= %v", status, tt.status)
149141
}
@@ -179,7 +171,7 @@ func TestEscapeControlReader(t *testing.T) {
179171
t.Run(tt.name, func(t *testing.T) {
180172
input := strings.NewReader(tt.text)
181173
output := &strings.Builder{}
182-
status, err := EscapeControlReader(input, output, nullLocale{})
174+
status, err := EscapeControlReader(input, output, &translation.MockLocale{})
183175
result := output.String()
184176
if err != nil {
185177
t.Errorf("EscapeControlReader(): err = %v", err)
@@ -201,5 +193,5 @@ func TestEscapeControlReader_panic(t *testing.T) {
201193
for i := 0; i < 6826; i++ {
202194
bs = append(bs, []byte("—")...)
203195
}
204-
_, _ = EscapeControlString(string(bs), nullLocale{})
196+
_, _ = EscapeControlString(string(bs), &translation.MockLocale{})
205197
}

modules/csv/csv_test.go

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import (
1313

1414
"code.gitea.io/gitea/modules/git"
1515
"code.gitea.io/gitea/modules/markup"
16+
"code.gitea.io/gitea/modules/translation"
1617

1718
"github.com/stretchr/testify/assert"
1819
)
@@ -550,20 +551,6 @@ a|"he said, ""here I am"""`,
550551
}
551552
}
552553

553-
type mockLocale struct{}
554-
555-
func (l mockLocale) Language() string {
556-
return "en"
557-
}
558-
559-
func (l mockLocale) Tr(s string, _ ...interface{}) string {
560-
return s
561-
}
562-
563-
func (l mockLocale) TrN(_cnt interface{}, key1, _keyN string, _args ...interface{}) string {
564-
return key1
565-
}
566-
567554
func TestFormatError(t *testing.T) {
568555
cases := []struct {
569556
err error
@@ -591,7 +578,7 @@ func TestFormatError(t *testing.T) {
591578
}
592579

593580
for n, c := range cases {
594-
message, err := FormatError(c.err, mockLocale{})
581+
message, err := FormatError(c.err, &translation.MockLocale{})
595582
if c.expectsError {
596583
assert.Error(t, err, "case %d: expected an error to be returned", n)
597584
} else {

modules/test/context_tests.go

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import (
1818
user_model "code.gitea.io/gitea/models/user"
1919
"code.gitea.io/gitea/modules/context"
2020
"code.gitea.io/gitea/modules/git"
21+
"code.gitea.io/gitea/modules/translation"
2122
"code.gitea.io/gitea/modules/web/middleware"
2223

2324
chi "github.com/go-chi/chi/v5"
@@ -34,7 +35,7 @@ func MockContext(t *testing.T, path string) *context.Context {
3435
Values: make(url.Values),
3536
},
3637
Resp: context.NewResponse(resp),
37-
Locale: &mockLocale{},
38+
Locale: &translation.MockLocale{},
3839
}
3940
defer ctx.Close()
4041

@@ -91,20 +92,6 @@ func LoadGitRepo(t *testing.T, ctx *context.Context) {
9192
assert.NoError(t, err)
9293
}
9394

94-
type mockLocale struct{}
95-
96-
func (l mockLocale) Language() string {
97-
return "en"
98-
}
99-
100-
func (l mockLocale) Tr(s string, _ ...interface{}) string {
101-
return s
102-
}
103-
104-
func (l mockLocale) TrN(_cnt interface{}, key1, _keyN string, _args ...interface{}) string {
105-
return key1
106-
}
107-
10895
type mockResponseWriter struct {
10996
httptest.ResponseRecorder
11097
size int

modules/translation/mock.go

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
// Copyright 2020 The Gitea Authors. All rights reserved.
2+
// SPDX-License-Identifier: MIT
3+
4+
package translation
5+
6+
import "fmt"
7+
8+
// MockLocale provides a mocked locale without any translations
9+
type MockLocale struct{}
10+
11+
var _ Locale = (*MockLocale)(nil)
12+
13+
func (l MockLocale) Language() string {
14+
return "en"
15+
}
16+
17+
func (l MockLocale) Tr(s string, _ ...interface{}) string {
18+
return s
19+
}
20+
21+
func (l MockLocale) TrN(_cnt interface{}, key1, _keyN string, _args ...interface{}) string {
22+
return key1
23+
}
24+
25+
func (l MockLocale) PrettyNumber(v any) string {
26+
return fmt.Sprint(v)
27+
}

modules/translation/translation.go

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -151,24 +151,24 @@ func NewLocale(lang string) Locale {
151151
langName := "unknown"
152152
if l, ok := allLangMap[lang]; ok {
153153
langName = l.Name
154-
}
155-
156-
var msgPrinter *message.Printer
157-
langTag, err := language.Parse(lang)
158-
if err != nil {
159-
log.Error("Failed to parse language tag from name %q: %v", lang, err)
160-
msgPrinter = message.NewPrinter(language.English)
161-
} else {
162-
msgPrinter = message.NewPrinter(langTag)
154+
} else if len(setting.Langs) > 0 {
155+
lang = setting.Langs[0]
156+
langName = setting.Names[0]
163157
}
164158

165159
i18nLocale, _ := i18n.GetLocale(lang)
166-
return &locale{
167-
Locale: i18nLocale,
168-
Lang: lang,
169-
LangName: langName,
170-
msgPrinter: msgPrinter,
160+
l := &locale{
161+
Locale: i18nLocale,
162+
Lang: lang,
163+
LangName: langName,
164+
}
165+
if langTag, err := language.Parse(lang); err != nil {
166+
log.Error("Failed to parse language tag from name %q: %v", l.Lang, err)
167+
l.msgPrinter = message.NewPrinter(language.English)
168+
} else {
169+
l.msgPrinter = message.NewPrinter(langTag)
171170
}
171+
return l
172172
}
173173

174174
func (l *locale) Language() string {

0 commit comments

Comments
 (0)