mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-04-21 04:25:53 +03:00
When the user checks out a commit which has a local branch ref attached to it, they can select between checking out the branch or checking out the commit as detached head.
56 lines
1.3 KiB
Go
56 lines
1.3 KiB
Go
package reflog
|
|
|
|
import (
|
|
"github.com/jesseduffield/lazygit/pkg/config"
|
|
. "github.com/jesseduffield/lazygit/pkg/integration/components"
|
|
)
|
|
|
|
var Checkout = NewIntegrationTest(NewIntegrationTestArgs{
|
|
Description: "Checkout a reflog commit as a detached head",
|
|
ExtraCmdArgs: []string{},
|
|
Skip: false,
|
|
SetupConfig: func(config *config.AppConfig) {},
|
|
SetupRepo: func(shell *Shell) {
|
|
shell.EmptyCommit("one")
|
|
shell.EmptyCommit("two")
|
|
shell.EmptyCommit("three")
|
|
shell.HardReset("HEAD^^")
|
|
},
|
|
Run: func(t *TestDriver, keys config.KeybindingConfig) {
|
|
t.Views().ReflogCommits().
|
|
Focus().
|
|
Lines(
|
|
Contains("reset: moving to HEAD^^").IsSelected(),
|
|
Contains("commit: three"),
|
|
Contains("commit: two"),
|
|
Contains("commit (initial): one"),
|
|
).
|
|
SelectNextItem().
|
|
PressPrimaryAction().
|
|
Tap(func() {
|
|
t.ExpectPopup().Menu().
|
|
Title(Contains("Checkout branch or commit")).
|
|
Select(MatchesRegexp("Checkout commit [a-f0-9]+ as detached head")).
|
|
Confirm()
|
|
}).
|
|
TopLines(
|
|
Contains("checkout: moving from master to").IsSelected(),
|
|
Contains("reset: moving to HEAD^^"),
|
|
)
|
|
|
|
t.Views().Branches().
|
|
Lines(
|
|
Contains("(HEAD detached at").IsSelected(),
|
|
Contains("master"),
|
|
)
|
|
|
|
t.Views().Commits().
|
|
Focus().
|
|
Lines(
|
|
Contains("three").IsSelected(),
|
|
Contains("two"),
|
|
Contains("one"),
|
|
)
|
|
},
|
|
})
|