@@ -53,10 +53,10 @@ func TestBranchGetCommitDifferences(t *testing.T) {
5353
5454func TestBranchNewBranch (t * testing.T ) {
5555 runner := oscommands .NewFakeRunner (t ).
56- Expect (`git checkout -b "test" "master"` , "" , nil )
56+ Expect (`git checkout -b "test" "refs/heads/ master"` , "" , nil )
5757 instance := buildBranchCommands (commonDeps {runner : runner })
5858
59- assert .NoError (t , instance .New ("test" , "master" ))
59+ assert .NoError (t , instance .New ("test" , "refs/heads/ master" ))
6060 runner .CheckForMissingCalls ()
6161}
6262
@@ -162,54 +162,58 @@ func TestBranchGetAllBranchGraph(t *testing.T) {
162162 assert .NoError (t , err )
163163}
164164
165- func TestBranchCurrentBranchName (t * testing.T ) {
165+ func TestBranchCurrentBranchInfo (t * testing.T ) {
166166 type scenario struct {
167167 testName string
168168 runner * oscommands.FakeCmdObjRunner
169- test func (string , string , error )
169+ test func (BranchInfo , error )
170170 }
171171
172172 scenarios := []scenario {
173173 {
174174 "says we are on the master branch if we are" ,
175175 oscommands .NewFakeRunner (t ).Expect (`git symbolic-ref --short HEAD` , "master" , nil ),
176- func (name string , displayname string , err error ) {
176+ func (info BranchInfo , err error ) {
177177 assert .NoError (t , err )
178- assert .EqualValues (t , "master" , name )
179- assert .EqualValues (t , "master" , displayname )
178+ assert .EqualValues (t , "master" , info .RefName )
179+ assert .EqualValues (t , "master" , info .DisplayName )
180+ assert .False (t , info .DetachedHead )
180181 },
181182 },
182183 {
183184 "falls back to git `git branch --contains` if symbolic-ref fails" ,
184185 oscommands .NewFakeRunner (t ).
185186 Expect (`git symbolic-ref --short HEAD` , "" , errors .New ("error" )).
186- Expect (`git branch --contains` , "* master " , nil ),
187- func (name string , displayname string , err error ) {
187+ Expect (`git branch --contains` , "* (HEAD detached at 8982166a) " , nil ),
188+ func (info BranchInfo , err error ) {
188189 assert .NoError (t , err )
189- assert .EqualValues (t , "master" , name )
190- assert .EqualValues (t , "master" , displayname )
190+ assert .EqualValues (t , "8982166a" , info .RefName )
191+ assert .EqualValues (t , "(HEAD detached at 8982166a)" , info .DisplayName )
192+ assert .True (t , info .DetachedHead )
191193 },
192194 },
193195 {
194196 "handles a detached head" ,
195197 oscommands .NewFakeRunner (t ).
196198 Expect (`git symbolic-ref --short HEAD` , "" , errors .New ("error" )).
197199 Expect (`git branch --contains` , "* (HEAD detached at 123abcd)" , nil ),
198- func (name string , displayname string , err error ) {
200+ func (info BranchInfo , err error ) {
199201 assert .NoError (t , err )
200- assert .EqualValues (t , "123abcd" , name )
201- assert .EqualValues (t , "(HEAD detached at 123abcd)" , displayname )
202+ assert .EqualValues (t , "123abcd" , info .RefName )
203+ assert .EqualValues (t , "(HEAD detached at 123abcd)" , info .DisplayName )
204+ assert .True (t , info .DetachedHead )
202205 },
203206 },
204207 {
205208 "bubbles up error if there is one" ,
206209 oscommands .NewFakeRunner (t ).
207210 Expect (`git symbolic-ref --short HEAD` , "" , errors .New ("error" )).
208211 Expect (`git branch --contains` , "" , errors .New ("error" )),
209- func (name string , displayname string , err error ) {
212+ func (info BranchInfo , err error ) {
210213 assert .Error (t , err )
211- assert .EqualValues (t , "" , name )
212- assert .EqualValues (t , "" , displayname )
214+ assert .EqualValues (t , "" , info .RefName )
215+ assert .EqualValues (t , "" , info .DisplayName )
216+ assert .False (t , info .DetachedHead )
213217 },
214218 },
215219 }
@@ -218,7 +222,7 @@ func TestBranchCurrentBranchName(t *testing.T) {
218222 s := s
219223 t .Run (s .testName , func (t * testing.T ) {
220224 instance := buildBranchCommands (commonDeps {runner : s .runner })
221- s .test (instance .CurrentBranchName ())
225+ s .test (instance .CurrentBranchInfo ())
222226 s .runner .CheckForMissingCalls ()
223227 })
224228 }
0 commit comments