mirror of
https://github.com/go-gitea/gitea.git
synced 2025-07-20 14:48:30 +02:00
Fix bug
This commit is contained in:
parent
e860a363e7
commit
1a1fe32256
@ -441,6 +441,7 @@ func GetTreeInformation(ctx context.Context, repo *repo_model.Repository, treePa
|
||||
if dir == "" {
|
||||
return treeList, nil
|
||||
}
|
||||
fields = fields[:len(fields)-1]
|
||||
listEntry, err = commit.GetTreeEntryByPath(dir)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -467,7 +468,7 @@ func GetTreeInformation(ctx context.Context, repo *repo_model.Repository, treePa
|
||||
parentEntry.Children = append(parentEntry.Children, &TreeEntry{
|
||||
Name: entry.Name(),
|
||||
IsFile: entry.Mode() != git.EntryModeTree,
|
||||
Path: path.Join(treePath, entry.Name()),
|
||||
Path: path.Join(dir, entry.Name()),
|
||||
})
|
||||
}
|
||||
return treeList, nil
|
||||
|
@ -98,3 +98,81 @@ func Test_GetTreeList(t *testing.T) {
|
||||
assert.True(t, treeList[1].Children[0].IsFile)
|
||||
assert.Empty(t, treeList[1].Children[0].Children)
|
||||
}
|
||||
|
||||
func Test_GetTreeInformation(t *testing.T) {
|
||||
unittest.PrepareTestEnv(t)
|
||||
ctx1, _ := contexttest.MockContext(t, "user2/repo1")
|
||||
contexttest.LoadRepo(t, ctx1, 1)
|
||||
contexttest.LoadRepoCommit(t, ctx1)
|
||||
contexttest.LoadUser(t, ctx1, 2)
|
||||
contexttest.LoadGitRepo(t, ctx1)
|
||||
defer ctx1.Repo.GitRepo.Close()
|
||||
|
||||
refName := git.RefNameFromBranch(ctx1.Repo.Repository.DefaultBranch)
|
||||
|
||||
treeList, err := GetTreeInformation(ctx1, ctx1.Repo.Repository, "", refName)
|
||||
assert.NoError(t, err)
|
||||
assert.Len(t, treeList, 1)
|
||||
assert.EqualValues(t, "README.md", treeList[0].Name)
|
||||
assert.EqualValues(t, "README.md", treeList[0].Path)
|
||||
assert.True(t, treeList[0].IsFile)
|
||||
assert.Empty(t, treeList[0].Children)
|
||||
|
||||
ctx2, _ := contexttest.MockContext(t, "org3/repo3")
|
||||
contexttest.LoadRepo(t, ctx2, 3)
|
||||
contexttest.LoadRepoCommit(t, ctx2)
|
||||
contexttest.LoadUser(t, ctx2, 2)
|
||||
contexttest.LoadGitRepo(t, ctx2)
|
||||
defer ctx2.Repo.GitRepo.Close()
|
||||
|
||||
refName = git.RefNameFromBranch(ctx2.Repo.Repository.DefaultBranch)
|
||||
|
||||
treeList, err = GetTreeInformation(ctx2, ctx2.Repo.Repository, "", refName)
|
||||
assert.NoError(t, err)
|
||||
assert.Len(t, treeList, 2)
|
||||
assert.EqualValues(t, "README.md", treeList[0].Name)
|
||||
assert.EqualValues(t, "README.md", treeList[0].Path)
|
||||
assert.True(t, treeList[0].IsFile)
|
||||
assert.Empty(t, treeList[0].Children)
|
||||
|
||||
assert.EqualValues(t, "doc", treeList[1].Name)
|
||||
assert.EqualValues(t, "doc", treeList[1].Path)
|
||||
assert.False(t, treeList[1].IsFile)
|
||||
assert.Len(t, treeList[1].Children, 0)
|
||||
|
||||
treeList, err = GetTreeInformation(ctx2, ctx2.Repo.Repository, "doc", refName)
|
||||
assert.NoError(t, err)
|
||||
assert.Len(t, treeList, 2)
|
||||
assert.EqualValues(t, "README.md", treeList[0].Name)
|
||||
assert.EqualValues(t, "README.md", treeList[0].Path)
|
||||
assert.True(t, treeList[0].IsFile)
|
||||
assert.Empty(t, treeList[0].Children)
|
||||
|
||||
assert.EqualValues(t, "doc", treeList[1].Name)
|
||||
assert.EqualValues(t, "doc", treeList[1].Path)
|
||||
assert.False(t, treeList[1].IsFile)
|
||||
assert.Len(t, treeList[1].Children, 1)
|
||||
|
||||
assert.EqualValues(t, "doc.md", treeList[1].Children[0].Name)
|
||||
assert.EqualValues(t, "doc/doc.md", treeList[1].Children[0].Path)
|
||||
assert.True(t, treeList[1].Children[0].IsFile)
|
||||
assert.Empty(t, treeList[1].Children[0].Children)
|
||||
|
||||
treeList, err = GetTreeInformation(ctx2, ctx2.Repo.Repository, "doc/doc.md", refName)
|
||||
assert.NoError(t, err)
|
||||
assert.Len(t, treeList, 2)
|
||||
assert.EqualValues(t, "README.md", treeList[0].Name)
|
||||
assert.EqualValues(t, "README.md", treeList[0].Path)
|
||||
assert.True(t, treeList[0].IsFile)
|
||||
assert.Empty(t, treeList[0].Children)
|
||||
|
||||
assert.EqualValues(t, "doc", treeList[1].Name)
|
||||
assert.EqualValues(t, "doc", treeList[1].Path)
|
||||
assert.False(t, treeList[1].IsFile)
|
||||
assert.Len(t, treeList[1].Children, 1)
|
||||
|
||||
assert.EqualValues(t, "doc.md", treeList[1].Children[0].Name)
|
||||
assert.EqualValues(t, "doc/doc.md", treeList[1].Children[0].Path)
|
||||
assert.True(t, treeList[1].Children[0].IsFile)
|
||||
assert.Empty(t, treeList[1].Children[0].Children)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user