@@ -101,3 +101,28 @@ func TestRepository_CommitsBetweenIDs(t *testing.T) {
101
101
assert .Len (t , commits , c .ExpectedCommits , "case %d" , i )
102
102
}
103
103
}
104
+
105
+ func TestGetRefCommitID (t * testing.T ) {
106
+ bareRepo1Path := filepath .Join (testReposDir , "repo1_bare" )
107
+ bareRepo1 , err := openRepositoryWithDefaultContext (bareRepo1Path )
108
+ assert .NoError (t , err )
109
+ defer bareRepo1 .Close ()
110
+
111
+ // these test case are specific to the repo1_bare test repo
112
+ testCases := []struct {
113
+ Ref string
114
+ ExpectedCommitID string
115
+ }{
116
+ {RefNameFromBranch ("master" ).String (), "ce064814f4a0d337b333e646ece456cd39fab612" },
117
+ {RefNameFromBranch ("branch1" ).String (), "2839944139e0de9737a044f78b0e4b40d989a9e3" },
118
+ {RefNameFromTag ("test" ).String (), "3ad28a9149a2864384548f3d17ed7f38014c9e8a" },
119
+ {"ce064814f4a0d337b333e646ece456cd39fab612" , "ce064814f4a0d337b333e646ece456cd39fab612" },
120
+ }
121
+
122
+ for _ , testCase := range testCases {
123
+ commitID , err := bareRepo1 .GetRefCommitID (testCase .Ref )
124
+ if assert .NoError (t , err ) {
125
+ assert .Equal (t , testCase .ExpectedCommitID , commitID )
126
+ }
127
+ }
128
+ }
0 commit comments