code.gitea.io/gitea@v1.21.7/routers/web/repo/view_test.go (about) 1 // Copyright 2017 The Gitea Authors. All rights reserved. 2 // Copyright 2014 The Gogs Authors. All rights reserved. 3 // SPDX-License-Identifier: MIT 4 5 package repo 6 7 import ( 8 "reflect" 9 "testing" 10 ) 11 12 func Test_localizedExtensions(t *testing.T) { 13 tests := []struct { 14 name string 15 ext string 16 languageCode string 17 wantLocalizedExts []string 18 }{ 19 { 20 name: "empty language", 21 ext: ".md", 22 wantLocalizedExts: []string{".md"}, 23 }, 24 { 25 name: "No region - lowercase", 26 languageCode: "en", 27 ext: ".csv", 28 wantLocalizedExts: []string{".en.csv", ".csv"}, 29 }, 30 { 31 name: "No region - uppercase", 32 languageCode: "FR", 33 ext: ".txt", 34 wantLocalizedExts: []string{".fr.txt", ".txt"}, 35 }, 36 { 37 name: "With region - lowercase", 38 languageCode: "en-us", 39 ext: ".md", 40 wantLocalizedExts: []string{".en-us.md", ".en_us.md", ".en.md", "_en.md", ".md"}, 41 }, 42 { 43 name: "With region - uppercase", 44 languageCode: "en-CA", 45 ext: ".MD", 46 wantLocalizedExts: []string{".en-ca.MD", ".en_ca.MD", ".en.MD", "_en.MD", ".MD"}, 47 }, 48 { 49 name: "With region - all uppercase", 50 languageCode: "ZH-TW", 51 ext: ".md", 52 wantLocalizedExts: []string{".zh-tw.md", ".zh_tw.md", ".zh.md", "_zh.md", ".md"}, 53 }, 54 } 55 for _, tt := range tests { 56 t.Run(tt.name, func(t *testing.T) { 57 if gotLocalizedExts := localizedExtensions(tt.ext, tt.languageCode); !reflect.DeepEqual(gotLocalizedExts, tt.wantLocalizedExts) { 58 t.Errorf("localizedExtensions() = %v, want %v", gotLocalizedExts, tt.wantLocalizedExts) 59 } 60 }) 61 } 62 }