gitea源码

language_stats_test.go 1006B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. // Copyright 2020 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. //go:build !gogit
  4. package languagestats
  5. import (
  6. "testing"
  7. "code.gitea.io/gitea/modules/git"
  8. "code.gitea.io/gitea/modules/setting"
  9. "github.com/stretchr/testify/assert"
  10. "github.com/stretchr/testify/require"
  11. )
  12. func TestRepository_GetLanguageStats(t *testing.T) {
  13. setting.AppDataPath = t.TempDir()
  14. repoPath := "../tests/repos/language_stats_repo"
  15. gitRepo, err := git.OpenRepository(t.Context(), repoPath)
  16. require.NoError(t, err)
  17. defer gitRepo.Close()
  18. stats, err := GetLanguageStats(gitRepo, "8fee858da5796dfb37704761701bb8e800ad9ef3")
  19. require.NoError(t, err)
  20. assert.Equal(t, map[string]int64{
  21. "Python": 134,
  22. "Java": 112,
  23. }, stats)
  24. }
  25. func TestMergeLanguageStats(t *testing.T) {
  26. assert.Equal(t, map[string]int64{
  27. "PHP": 1,
  28. "python": 10,
  29. "JAVA": 700,
  30. }, mergeLanguageStats(map[string]int64{
  31. "PHP": 1,
  32. "python": 10,
  33. "Java": 100,
  34. "java": 200,
  35. "JAVA": 400,
  36. }))
  37. }