mirror of
https://github.com/go-gitea/gitea.git
synced 2026-10-03 00:02:43 +02:00
Fix bug
This commit is contained in:
3 files changed
+46
-32
No files matched your search
@@ -416,14 +416,19 @@ func GetTreeInformation(ctx context.Context, repo *repo_model.Repository, treePa
|
||||
var treeList []*TreeEntry
|
||||
var parentEntry *TreeEntry
|
||||
fields := strings.SplitN(treePath, "/", 2)
|
||||
for _, rootEntry := range rootEntries {
|
||||
for _, entry := range rootEntries {
|
||||
treeEntry := &TreeEntry{
|
||||
Name: rootEntry.Name(),
|
||||
IsFile: rootEntry.Mode() != git.EntryModeTree,
|
||||
Path: rootEntry.Name(),
|
||||
Name: entry.Name(),
|
||||
IsFile: entry.Mode() != git.EntryModeTree,
|
||||
Path: entry.Name(),
|
||||
}
|
||||
treeList = append(treeList, treeEntry)
|
||||
if fields[0] == rootEntry.Name() {
|
||||
if fields[0] == entry.Name() {
|
||||
if len(fields) == 1 {
|
||||
if treeEntry.IsFile {
|
||||
return treeList, nil
|
||||
}
|
||||
}
|
||||
parentEntry = treeEntry
|
||||
}
|
||||
}
|
||||
|
||||
@@ -118,6 +118,14 @@ func Test_GetTreeInformation(t *testing.T) {
|
||||
assert.True(t, treeList[0].IsFile)
|
||||
assert.Empty(t, treeList[0].Children)
|
||||
|
||||
treeList, err = GetTreeInformation(ctx1, ctx1.Repo.Repository, "README.md", 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)
|
||||
@@ -143,36 +151,37 @@ func Test_GetTreeInformation(t *testing.T) {
|
||||
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[0].Name)
|
||||
assert.EqualValues(t, "doc", treeList[0].Path)
|
||||
assert.False(t, treeList[0].IsFile)
|
||||
assert.Len(t, treeList[0].Children, 1)
|
||||
|
||||
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[0].Children[0].Name)
|
||||
assert.EqualValues(t, "doc/doc.md", treeList[0].Children[0].Path)
|
||||
assert.True(t, treeList[0].Children[0].IsFile)
|
||||
assert.Empty(t, treeList[0].Children[0].Children)
|
||||
|
||||
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)
|
||||
assert.EqualValues(t, "README.md", treeList[1].Name)
|
||||
assert.EqualValues(t, "README.md", treeList[1].Path)
|
||||
assert.True(t, treeList[1].IsFile)
|
||||
assert.Empty(t, treeList[1].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", treeList[0].Name)
|
||||
assert.EqualValues(t, "doc", treeList[0].Path)
|
||||
assert.False(t, treeList[0].IsFile)
|
||||
assert.Len(t, treeList[0].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)
|
||||
assert.EqualValues(t, "doc.md", treeList[0].Children[0].Name)
|
||||
assert.EqualValues(t, "doc/doc.md", treeList[0].Children[0].Path)
|
||||
assert.True(t, treeList[0].Children[0].IsFile)
|
||||
assert.Empty(t, treeList[0].Children[0].Children)
|
||||
|
||||
assert.EqualValues(t, "README.md", treeList[1].Name)
|
||||
assert.EqualValues(t, "README.md", treeList[1].Path)
|
||||
assert.True(t, treeList[1].IsFile)
|
||||
assert.Empty(t, treeList[1].Children)
|
||||
}
|
||||
Reference in new issue
Block a user