1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-03-31 22:22:14 +02:00
lazygit/pkg/integration/tests/branch/rebase_and_drop.go
Jesse Duffield d772c9f1d4 Use sentence case everywhere
We have not been good at consistent casing so far. Now we use 'Sentence case' everywhere. EVERYWHERE.

Also Removing 'Lc' prefix from i18n field names: the 'Lc' stood for lowercase but now that everything
is in 'Sentence case' there's no need for the distinction.

I've got a couple lower case things I've kept: namely, things that show up in parentheses.
2023-05-25 23:52:19 +10:00

90 lines
2.4 KiB
Go

package branch
import (
"github.com/jesseduffield/lazygit/pkg/config"
. "github.com/jesseduffield/lazygit/pkg/integration/components"
"github.com/jesseduffield/lazygit/pkg/integration/tests/shared"
)
var RebaseAndDrop = NewIntegrationTest(NewIntegrationTestArgs{
Description: "Rebase onto another branch, deal with the conflicts. Also mark a commit to be dropped before continuing.",
ExtraCmdArgs: []string{},
Skip: false,
SetupConfig: func(config *config.AppConfig) {},
SetupRepo: func(shell *Shell) {
shared.MergeConflictsSetup(shell)
// addin a couple additional commits so that we can drop one
shell.EmptyCommit("to remove")
shell.EmptyCommit("to keep")
},
Run: func(t *TestDriver, keys config.KeybindingConfig) {
t.Views().Commits().
TopLines(
Contains("to keep"),
Contains("to remove"),
Contains("first change"),
Contains("original"),
)
t.Views().Branches().
Focus().
Lines(
Contains("first-change-branch").IsSelected(),
Contains("second-change-branch"),
Contains("original-branch"),
).
SelectNextItem().
Press(keys.Branches.RebaseBranch)
t.ExpectPopup().Menu().
Title(Equals("Rebase 'first-change-branch' onto 'second-change-branch'")).
Select(Contains("Simple rebase")).
Confirm()
t.Views().Information().Content(Contains("Rebasing"))
t.Common().AcknowledgeConflicts()
t.Views().Files().IsFocused().
SelectedLine(MatchesRegexp("UU.*file"))
t.Views().Commits().
Focus().
TopLines(
MatchesRegexp(`pick.*to keep`).IsSelected(),
MatchesRegexp(`pick.*to remove`),
MatchesRegexp("YOU ARE HERE.*second-change-branch unrelated change"),
MatchesRegexp("second change"),
MatchesRegexp("original"),
).
SelectNextItem().
Press(keys.Universal.Remove).
TopLines(
MatchesRegexp(`pick.*to keep`),
MatchesRegexp(`drop.*to remove`).IsSelected(),
MatchesRegexp("YOU ARE HERE.*second-change-branch unrelated change"),
MatchesRegexp("second change"),
MatchesRegexp("original"),
)
t.Views().Files().
Focus().
PressEnter()
t.Views().MergeConflicts().
IsFocused().
PressPrimaryAction()
t.Common().ContinueOnConflictsResolved()
t.Views().Information().Content(DoesNotContain("Rebasing"))
t.Views().Commits().TopLines(
Contains("to keep"),
Contains("second-change-branch unrelated change").IsSelected(),
Contains("second change"),
Contains("original"),
)
},
})