@@ -98,3 +98,81 @@ func Test_GetTreeList(t *testing.T) {
9898 assert .True (t , treeList [1 ].Children [0 ].IsFile )
9999 assert .Empty (t , treeList [1 ].Children [0 ].Children )
100100}
101+
102+ func Test_GetTreeInformation (t * testing.T ) {
103+ unittest .PrepareTestEnv (t )
104+ ctx1 , _ := contexttest .MockContext (t , "user2/repo1" )
105+ contexttest .LoadRepo (t , ctx1 , 1 )
106+ contexttest .LoadRepoCommit (t , ctx1 )
107+ contexttest .LoadUser (t , ctx1 , 2 )
108+ contexttest .LoadGitRepo (t , ctx1 )
109+ defer ctx1 .Repo .GitRepo .Close ()
110+
111+ refName := git .RefNameFromBranch (ctx1 .Repo .Repository .DefaultBranch )
112+
113+ treeList , err := GetTreeInformation (ctx1 , ctx1 .Repo .Repository , "" , refName )
114+ assert .NoError (t , err )
115+ assert .Len (t , treeList , 1 )
116+ assert .EqualValues (t , "README.md" , treeList [0 ].Name )
117+ assert .EqualValues (t , "README.md" , treeList [0 ].Path )
118+ assert .True (t , treeList [0 ].IsFile )
119+ assert .Empty (t , treeList [0 ].Children )
120+
121+ ctx2 , _ := contexttest .MockContext (t , "org3/repo3" )
122+ contexttest .LoadRepo (t , ctx2 , 3 )
123+ contexttest .LoadRepoCommit (t , ctx2 )
124+ contexttest .LoadUser (t , ctx2 , 2 )
125+ contexttest .LoadGitRepo (t , ctx2 )
126+ defer ctx2 .Repo .GitRepo .Close ()
127+
128+ refName = git .RefNameFromBranch (ctx2 .Repo .Repository .DefaultBranch )
129+
130+ treeList , err = GetTreeInformation (ctx2 , ctx2 .Repo .Repository , "" , refName )
131+ assert .NoError (t , err )
132+ assert .Len (t , treeList , 2 )
133+ assert .EqualValues (t , "README.md" , treeList [0 ].Name )
134+ assert .EqualValues (t , "README.md" , treeList [0 ].Path )
135+ assert .True (t , treeList [0 ].IsFile )
136+ assert .Empty (t , treeList [0 ].Children )
137+
138+ assert .EqualValues (t , "doc" , treeList [1 ].Name )
139+ assert .EqualValues (t , "doc" , treeList [1 ].Path )
140+ assert .False (t , treeList [1 ].IsFile )
141+ assert .Len (t , treeList [1 ].Children , 0 )
142+
143+ treeList , err = GetTreeInformation (ctx2 , ctx2 .Repo .Repository , "doc" , refName )
144+ assert .NoError (t , err )
145+ assert .Len (t , treeList , 2 )
146+ assert .EqualValues (t , "README.md" , treeList [0 ].Name )
147+ assert .EqualValues (t , "README.md" , treeList [0 ].Path )
148+ assert .True (t , treeList [0 ].IsFile )
149+ assert .Empty (t , treeList [0 ].Children )
150+
151+ assert .EqualValues (t , "doc" , treeList [1 ].Name )
152+ assert .EqualValues (t , "doc" , treeList [1 ].Path )
153+ assert .False (t , treeList [1 ].IsFile )
154+ assert .Len (t , treeList [1 ].Children , 1 )
155+
156+ assert .EqualValues (t , "doc.md" , treeList [1 ].Children [0 ].Name )
157+ assert .EqualValues (t , "doc/doc.md" , treeList [1 ].Children [0 ].Path )
158+ assert .True (t , treeList [1 ].Children [0 ].IsFile )
159+ assert .Empty (t , treeList [1 ].Children [0 ].Children )
160+
161+ treeList , err = GetTreeInformation (ctx2 , ctx2 .Repo .Repository , "doc/doc.md" , refName )
162+ assert .NoError (t , err )
163+ assert .Len (t , treeList , 2 )
164+ assert .EqualValues (t , "README.md" , treeList [0 ].Name )
165+ assert .EqualValues (t , "README.md" , treeList [0 ].Path )
166+ assert .True (t , treeList [0 ].IsFile )
167+ assert .Empty (t , treeList [0 ].Children )
168+
169+ assert .EqualValues (t , "doc" , treeList [1 ].Name )
170+ assert .EqualValues (t , "doc" , treeList [1 ].Path )
171+ assert .False (t , treeList [1 ].IsFile )
172+ assert .Len (t , treeList [1 ].Children , 1 )
173+
174+ assert .EqualValues (t , "doc.md" , treeList [1 ].Children [0 ].Name )
175+ assert .EqualValues (t , "doc/doc.md" , treeList [1 ].Children [0 ].Path )
176+ assert .True (t , treeList [1 ].Children [0 ].IsFile )
177+ assert .Empty (t , treeList [1 ].Children [0 ].Children )
178+ }
0 commit comments