diff options
Diffstat (limited to 'pkg/integration/tests/branch/checkout_by_name.go')
-rw-r--r-- | pkg/integration/tests/branch/checkout_by_name.go | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/pkg/integration/tests/branch/checkout_by_name.go b/pkg/integration/tests/branch/checkout_by_name.go new file mode 100644 index 000000000..4888b0112 --- /dev/null +++ b/pkg/integration/tests/branch/checkout_by_name.go @@ -0,0 +1,39 @@ +package branch + +import ( + "github.com/jesseduffield/lazygit/pkg/config" + . "github.com/jesseduffield/lazygit/pkg/integration/components" +) + +var CheckoutByName = NewIntegrationTest(NewIntegrationTestArgs{ + Description: "Try to checkout branch by name. Verify that it also works on the branch with the special name @.", + ExtraCmdArgs: "", + Skip: false, + SetupConfig: func(config *config.AppConfig) {}, + SetupRepo: func(shell *Shell) { + shell. + CreateNCommits(3). + NewBranch("@"). + Checkout("master"). + EmptyCommit("blah") + }, + Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) { + input.SwitchToBranchesWindow() + assert.CurrentViewName("localBranches") + + assert.MatchSelectedLine(Contains("master")) + input.NextItem() + assert.MatchSelectedLine(Contains("@")) + input.PressKeys(keys.Branches.CheckoutBranchByName) + assert.InPrompt() + assert.MatchCurrentViewTitle(Equals("Branch name:")) + input.Type("new-branch") + input.Confirm() + assert.InAlert() + assert.MatchCurrentViewContent(Equals("Branch not found. Create a new branch named new-branch?")) + input.Confirm() + + assert.CurrentViewName("localBranches") + assert.MatchSelectedLine(Contains("new-branch")) + }, +}) |