Support localized README (#20508)
* Support localized README * Slightly simplify getting the readme file and add some tests. Ensure that i18n also works for docs/ etc. Signed-off-by: Andrew Thornton <art27@cantab.net> * Update modules/markup/renderer.go * Update modules/markup/renderer.go * Update modules/markup/renderer.go Co-authored-by: Andrew Thornton <art27@cantab.net>tokarchuk/v1.18
parent
335e918b11
commit
c35535ce07
@ -0,0 +1,63 @@ |
||||
// Copyright 2017 The Gitea Authors. All rights reserved.
|
||||
// Copyright 2014 The Gogs Authors. All rights reserved.
|
||||
// Use of this source code is governed by a MIT-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package repo |
||||
|
||||
import ( |
||||
"reflect" |
||||
"testing" |
||||
) |
||||
|
||||
func Test_localizedExtensions(t *testing.T) { |
||||
tests := []struct { |
||||
name string |
||||
ext string |
||||
languageCode string |
||||
wantLocalizedExts []string |
||||
}{ |
||||
{ |
||||
name: "empty language", |
||||
ext: ".md", |
||||
wantLocalizedExts: []string{".md"}, |
||||
}, |
||||
{ |
||||
name: "No region - lowercase", |
||||
languageCode: "en", |
||||
ext: ".csv", |
||||
wantLocalizedExts: []string{".en.csv", ".csv"}, |
||||
}, |
||||
{ |
||||
name: "No region - uppercase", |
||||
languageCode: "FR", |
||||
ext: ".txt", |
||||
wantLocalizedExts: []string{".fr.txt", ".txt"}, |
||||
}, |
||||
{ |
||||
name: "With region - lowercase", |
||||
languageCode: "en-us", |
||||
ext: ".md", |
||||
wantLocalizedExts: []string{".en-us.md", ".en_us.md", ".en.md", ".md"}, |
||||
}, |
||||
{ |
||||
name: "With region - uppercase", |
||||
languageCode: "en-CA", |
||||
ext: ".MD", |
||||
wantLocalizedExts: []string{".en-ca.MD", ".en_ca.MD", ".en.MD", ".MD"}, |
||||
}, |
||||
{ |
||||
name: "With region - all uppercase", |
||||
languageCode: "ZH-TW", |
||||
ext: ".md", |
||||
wantLocalizedExts: []string{".zh-tw.md", ".zh_tw.md", ".zh.md", ".md"}, |
||||
}, |
||||
} |
||||
for _, tt := range tests { |
||||
t.Run(tt.name, func(t *testing.T) { |
||||
if gotLocalizedExts := localizedExtensions(tt.ext, tt.languageCode); !reflect.DeepEqual(gotLocalizedExts, tt.wantLocalizedExts) { |
||||
t.Errorf("localizedExtensions() = %v, want %v", gotLocalizedExts, tt.wantLocalizedExts) |
||||
} |
||||
}) |
||||
} |
||||
} |
Loading…
Reference in new issue