gitea源码

view_test.go 1.7KB

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