You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

git_test.go 1.5KB

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