diff options
Diffstat (limited to 'modules/git/languagestats/language_stats_test.go')
-rw-r--r-- | modules/git/languagestats/language_stats_test.go | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/modules/git/languagestats/language_stats_test.go b/modules/git/languagestats/language_stats_test.go new file mode 100644 index 0000000000..b908ae6413 --- /dev/null +++ b/modules/git/languagestats/language_stats_test.go @@ -0,0 +1,46 @@ +// Copyright 2020 The Gitea Authors. All rights reserved. +// SPDX-License-Identifier: MIT + +//go:build !gogit + +package languagestats + +import ( + "testing" + + "code.gitea.io/gitea/modules/git" + "code.gitea.io/gitea/modules/setting" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func TestRepository_GetLanguageStats(t *testing.T) { + setting.AppDataPath = t.TempDir() + repoPath := "../tests/repos/language_stats_repo" + gitRepo, err := git.OpenRepository(t.Context(), repoPath) + require.NoError(t, err) + defer gitRepo.Close() + + stats, err := GetLanguageStats(gitRepo, "8fee858da5796dfb37704761701bb8e800ad9ef3") + require.NoError(t, err) + + assert.Equal(t, map[string]int64{ + "Python": 134, + "Java": 112, + }, stats) +} + +func TestMergeLanguageStats(t *testing.T) { + assert.Equal(t, map[string]int64{ + "PHP": 1, + "python": 10, + "JAVA": 700, + }, mergeLanguageStats(map[string]int64{ + "PHP": 1, + "python": 10, + "Java": 100, + "java": 200, + "JAVA": 400, + })) +} |