mirror of
https://github.com/jesseduffield/lazygit.git
synced 2026-05-22 10:15:43 +02:00
63dc07fded
By constructing an arg vector manually, we no longer need to quote arguments Mandate that args must be passed when building a command Now you need to provide an args array when building a command. There are a handful of places where we need to deal with a string, such as with user-defined custom commands, and for those we now require that at the callsite they use str.ToArgv to do that. I don't want to provide a method out of the box for it because I want to discourage its use. For some reason we were invoking a command through a shell when amending a commit, and I don't believe we needed to do that as there was nothing user- supplied about the command. So I've switched to using a regular command out- side the shell there
47 lines
1.6 KiB
Go
47 lines
1.6 KiB
Go
package bisect
|
|
|
|
import (
|
|
"github.com/jesseduffield/lazygit/pkg/config"
|
|
. "github.com/jesseduffield/lazygit/pkg/integration/components"
|
|
)
|
|
|
|
var FromOtherBranch = NewIntegrationTest(NewIntegrationTestArgs{
|
|
Description: "Opening lazygit when bisect has been started from another branch. There's an issue where we don't reselect the current branch if we mark the current branch as bad so this test side-steps that problem",
|
|
ExtraCmdArgs: []string{},
|
|
Skip: false,
|
|
SetupRepo: func(shell *Shell) {
|
|
shell.
|
|
EmptyCommit("only commit on master"). // this'll ensure we have a master branch
|
|
NewBranch("other").
|
|
CreateNCommits(10).
|
|
Checkout("master").
|
|
StartBisect("other~2", "other~5")
|
|
},
|
|
SetupConfig: func(cfg *config.AppConfig) {},
|
|
Run: func(t *TestDriver, keys config.KeybindingConfig) {
|
|
t.Views().Information().Content(Contains("bisecting"))
|
|
|
|
t.Views().Commits().
|
|
Focus().
|
|
TopLines(
|
|
MatchesRegexp(`<-- bad.*commit 08`),
|
|
MatchesRegexp(`<-- current.*commit 07`),
|
|
MatchesRegexp(`\?.*commit 06`),
|
|
MatchesRegexp(`<-- good.*commit 05`),
|
|
).
|
|
SelectNextItem().
|
|
Press(keys.Commits.ViewBisectOptions).
|
|
Tap(func() {
|
|
t.ExpectPopup().Menu().Title(Equals("Bisect")).Select(MatchesRegexp(`mark .* as good`)).Confirm()
|
|
|
|
t.ExpectPopup().Alert().Title(Equals("Bisect complete")).Content(MatchesRegexp("(?s)commit 08.*Do you want to reset")).Confirm()
|
|
|
|
t.Views().Information().Content(DoesNotContain("bisecting"))
|
|
}).
|
|
// back in master branch which just had the one commit
|
|
Lines(
|
|
Contains("only commit on master"),
|
|
)
|
|
},
|
|
})
|