gitea源码

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. // Copyright 2019 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package setting
  4. import (
  5. "testing"
  6. "code.gitea.io/gitea/modules/test"
  7. "github.com/stretchr/testify/assert"
  8. )
  9. func TestGitConfig(t *testing.T) {
  10. oldGit := Git
  11. oldGitConfig := GitConfig
  12. defer func() {
  13. Git = oldGit
  14. GitConfig = oldGitConfig
  15. }()
  16. cfg, err := NewConfigProviderFromData(`
  17. [git.config]
  18. a.b = 1
  19. `)
  20. assert.NoError(t, err)
  21. loadGitFrom(cfg)
  22. assert.Equal(t, "1", GitConfig.Options["a.b"])
  23. assert.Equal(t, "histogram", GitConfig.Options["diff.algorithm"])
  24. cfg, err = NewConfigProviderFromData(`
  25. [git.config]
  26. diff.algorithm = other
  27. `)
  28. assert.NoError(t, err)
  29. loadGitFrom(cfg)
  30. assert.Equal(t, "other", GitConfig.Options["diff.algorithm"])
  31. }
  32. func TestGitReflog(t *testing.T) {
  33. defer test.MockVariableValue(&Git)
  34. defer test.MockVariableValue(&GitConfig)
  35. // default reflog config without legacy options
  36. cfg, err := NewConfigProviderFromData(``)
  37. assert.NoError(t, err)
  38. loadGitFrom(cfg)
  39. assert.Equal(t, "true", GitConfig.GetOption("core.logAllRefUpdates"))
  40. assert.Equal(t, "90", GitConfig.GetOption("gc.reflogExpire"))
  41. // custom reflog config by legacy options
  42. cfg, err = NewConfigProviderFromData(`
  43. [git.reflog]
  44. ENABLED = false
  45. EXPIRATION = 123
  46. `)
  47. assert.NoError(t, err)
  48. loadGitFrom(cfg)
  49. assert.Equal(t, "false", GitConfig.GetOption("core.logAllRefUpdates"))
  50. assert.Equal(t, "123", GitConfig.GetOption("gc.reflogExpire"))
  51. }