summaryrefslogtreecommitdiffstats
path: root/pkg/commands/git_commands/branch_test.go
diff options
context:
space:
mode:
authorRyooooooga <eial5q265e5@gmail.com>2022-10-16 21:31:42 +0900
committerJesse Duffield <jessedduffield@gmail.com>2022-11-14 19:05:07 +1100
commit52a2e4c1dc270c95366d05687de514caed95f695 (patch)
tree3c0d5d086da0a365c8429166a903874f6c5aaf2f /pkg/commands/git_commands/branch_test.go
parentb33ec5a05025a2755f4511f042e9e0fcb224bf47 (diff)
fix: fix ambiguous branch name
test: add an integration test for checkout branch by name fix: fix full ref name of detached head refactor: refactor current branch loader chore: use field name explicitly
Diffstat (limited to 'pkg/commands/git_commands/branch_test.go')
-rw-r--r--pkg/commands/git_commands/branch_test.go40
1 files changed, 22 insertions, 18 deletions
diff --git a/pkg/commands/git_commands/branch_test.go b/pkg/commands/git_commands/branch_test.go
index 757a8a83d..94456c0f8 100644
--- a/pkg/commands/git_commands/branch_test.go
+++ b/pkg/commands/git_commands/branch_test.go
@@ -53,10 +53,10 @@ func TestBranchGetCommitDifferences(t *testing.T) {
func TestBranchNewBranch(t *testing.T) {
runner := oscommands.NewFakeRunner(t).
- Expect(`git checkout -b "test" "master"`, "", nil)
+ Expect(`git checkout -b "test" "refs/heads/master"`, "", nil)
instance := buildBranchCommands(commonDeps{runner: runner})
- assert.NoError(t, instance.New("test", "master"))
+ assert.NoError(t, instance.New("test", "refs/heads/master"))
runner.CheckForMissingCalls()
}
@@ -162,32 +162,34 @@ func TestBranchGetAllBranchGraph(t *testing.T) {
assert.NoError(t, err)
}
-func TestBranchCurrentBranchName(t *testing.T) {
+func TestBranchCurrentBranchInfo(t *testing.T) {
type scenario struct {
testName string
runner *oscommands.FakeCmdObjRunner
- test func(string, string, error)
+ test func(BranchInfo, error)
}
scenarios := []scenario{
{
"says we are on the master branch if we are",
oscommands.NewFakeRunner(t).Expect(`git symbolic-ref --short HEAD`, "master", nil),
- func(name string, displayname string, err error) {
+ func(info BranchInfo, err error) {
assert.NoError(t, err)
- assert.EqualValues(t, "master", name)
- assert.EqualValues(t, "master", displayname)
+ assert.EqualValues(t, "master", info.RefName)
+ assert.EqualValues(t, "master", info.DisplayName)
+ assert.False(t, info.DetachedHead)
},
},
{
"falls back to git `git branch --contains` if symbolic-ref fails",
oscommands.NewFakeRunner(t).
Expect(`git symbolic-ref --short HEAD`, "", errors.New("error")).
- Expect(`git branch --contains`, "* master", nil),
- func(name string, displayname string, err error) {
+ Expect(`git branch --contains`, "* (HEAD detached at 8982166a)", nil),
+ func(info BranchInfo, err error) {
assert.NoError(t, err)
- assert.EqualValues(t, "master", name)
- assert.EqualValues(t, "master", displayname)
+ assert.EqualValues(t, "8982166a", info.RefName)
+ assert.EqualValues(t, "(HEAD detached at 8982166a)", info.DisplayName)
+ assert.True(t, info.DetachedHead)
},
},
{
@@ -195,10 +197,11 @@ func TestBranchCurrentBranchName(t *testing.T) {
oscommands.NewFakeRunner(t).
Expect(`git symbolic-ref --short HEAD`, "", errors.New("error")).
Expect(`git branch --contains`, "* (HEAD detached at 123abcd)", nil),
- func(name string, displayname string, err error) {
+ func(info BranchInfo, err error) {
assert.NoError(t, err)
- assert.EqualValues(t, "123abcd", name)
- assert.EqualValues(t, "(HEAD detached at 123abcd)", displayname)
+ assert.EqualValues(t, "123abcd", info.RefName)
+ assert.EqualValues(t, "(HEAD detached at 123abcd)", info.DisplayName)
+ assert.True(t, info.DetachedHead)
},
},
{
@@ -206,10 +209,11 @@ func TestBranchCurrentBranchName(t *testing.T) {
oscommands.NewFakeRunner(t).
Expect(`git symbolic-ref --short HEAD`, "", errors.New("error")).
Expect(`git branch --contains`, "", errors.New("error")),
- func(name string, displayname string, err error) {
+ func(info BranchInfo, err error) {
assert.Error(t, err)
- assert.EqualValues(t, "", name)
- assert.EqualValues(t, "", displayname)
+ assert.EqualValues(t, "", info.RefName)
+ assert.EqualValues(t, "", info.DisplayName)
+ assert.False(t, info.DetachedHead)
},
},
}
@@ -218,7 +222,7 @@ func TestBranchCurrentBranchName(t *testing.T) {
s := s
t.Run(s.testName, func(t *testing.T) {
instance := buildBranchCommands(commonDeps{runner: s.runner})
- s.test(instance.CurrentBranchName())
+ s.test(instance.CurrentBranchInfo())
s.runner.CheckForMissingCalls()
})
}