|
7 | 7 | "testing" |
8 | 8 |
|
9 | 9 | "code.gitea.io/gitea/models/unittest" |
| 10 | + "code.gitea.io/gitea/modules/git" |
10 | 11 | api "code.gitea.io/gitea/modules/structs" |
11 | 12 | "code.gitea.io/gitea/services/contexttest" |
12 | 13 |
|
@@ -50,3 +51,50 @@ func TestGetTreeBySHA(t *testing.T) { |
50 | 51 |
|
51 | 52 | assert.EqualValues(t, expectedTree, tree) |
52 | 53 | } |
| 54 | + |
| 55 | +func Test_GetTreeList(t *testing.T) { |
| 56 | + unittest.PrepareTestEnv(t) |
| 57 | + ctx1, _ := contexttest.MockContext(t, "user2/repo1") |
| 58 | + contexttest.LoadRepo(t, ctx1, 1) |
| 59 | + contexttest.LoadRepoCommit(t, ctx1) |
| 60 | + contexttest.LoadUser(t, ctx1, 2) |
| 61 | + contexttest.LoadGitRepo(t, ctx1) |
| 62 | + defer ctx1.Repo.GitRepo.Close() |
| 63 | + |
| 64 | + refName := git.RefNameFromBranch(ctx1.Repo.Repository.DefaultBranch) |
| 65 | + |
| 66 | + treeList, err := GetTreeList(ctx1, ctx1.Repo.Repository, "", refName, true) |
| 67 | + assert.NoError(t, err) |
| 68 | + assert.Len(t, treeList, 1) |
| 69 | + assert.EqualValues(t, "README.md", treeList[0].Name) |
| 70 | + assert.EqualValues(t, "README.md", treeList[0].Path) |
| 71 | + assert.True(t, treeList[0].IsFile) |
| 72 | + assert.Empty(t, treeList[0].Children) |
| 73 | + |
| 74 | + ctx2, _ := contexttest.MockContext(t, "org3/repo3") |
| 75 | + contexttest.LoadRepo(t, ctx2, 3) |
| 76 | + contexttest.LoadRepoCommit(t, ctx2) |
| 77 | + contexttest.LoadUser(t, ctx2, 2) |
| 78 | + contexttest.LoadGitRepo(t, ctx2) |
| 79 | + defer ctx2.Repo.GitRepo.Close() |
| 80 | + |
| 81 | + refName = git.RefNameFromBranch(ctx2.Repo.Repository.DefaultBranch) |
| 82 | + |
| 83 | + treeList, err = GetTreeList(ctx2, ctx2.Repo.Repository, "", refName, true) |
| 84 | + assert.NoError(t, err) |
| 85 | + assert.Len(t, treeList, 2) |
| 86 | + assert.EqualValues(t, "README.md", treeList[0].Name) |
| 87 | + assert.EqualValues(t, "README.md", treeList[0].Path) |
| 88 | + assert.True(t, treeList[0].IsFile) |
| 89 | + assert.Empty(t, treeList[0].Children) |
| 90 | + |
| 91 | + assert.EqualValues(t, "doc", treeList[1].Name) |
| 92 | + assert.EqualValues(t, "doc", treeList[1].Path) |
| 93 | + assert.False(t, treeList[1].IsFile) |
| 94 | + assert.Len(t, treeList[1].Children, 1) |
| 95 | + |
| 96 | + assert.EqualValues(t, "doc.md", treeList[1].Children[0].Name) |
| 97 | + assert.EqualValues(t, "doc/doc.md", treeList[1].Children[0].Path) |
| 98 | + assert.True(t, treeList[1].Children[0].IsFile) |
| 99 | + assert.Empty(t, treeList[1].Children[0].Children) |
| 100 | +} |
0 commit comments