1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-03-31 22:22:14 +02:00
lazygit/pkg/integration/tests/diff/diff_and_apply_patch.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

79 lines
2.3 KiB
Go

package diff
import (
"github.com/jesseduffield/lazygit/pkg/config"
. "github.com/jesseduffield/lazygit/pkg/integration/components"
)
var DiffAndApplyPatch = NewIntegrationTest(NewIntegrationTestArgs{
Description: "Create a patch from the diff between two branches and apply the patch.",
ExtraCmdArgs: []string{},
Skip: false,
SetupConfig: func(config *config.AppConfig) {},
SetupRepo: func(shell *Shell) {
shell.NewBranch("branch-a")
shell.CreateFileAndAdd("file1", "first line\n")
shell.Commit("first commit")
shell.NewBranch("branch-b")
shell.UpdateFileAndAdd("file1", "first line\nsecond line\n")
shell.Commit("update")
shell.Checkout("branch-a")
},
Run: func(t *TestDriver, keys config.KeybindingConfig) {
t.Views().Branches().
Focus().
Lines(
Contains("branch-a"),
Contains("branch-b"),
).
Press(keys.Universal.DiffingMenu)
t.ExpectPopup().Menu().Title(Equals("Diffing")).Select(Equals("Diff branch-a")).Confirm()
t.Views().Information().Content(Contains("Showing output for: git diff branch-a branch-a"))
t.Views().Branches().
IsFocused().
SelectNextItem().
Tap(func() {
t.Views().Information().Content(Contains("Showing output for: git diff branch-a branch-b"))
t.Views().Main().Content(Contains("+second line"))
}).
PressEnter()
t.Views().SubCommits().
IsFocused().
SelectedLine(Contains("update")).
Tap(func() {
t.Views().Main().Content(Contains("+second line"))
}).
PressEnter()
t.Views().CommitFiles().
IsFocused().
SelectedLine(Contains("file1")).
Tap(func() {
t.Views().Main().Content(Contains("+second line"))
}).
PressPrimaryAction(). // add the file to the patch
Press(keys.Universal.DiffingMenu).
Tap(func() {
t.ExpectPopup().Menu().Title(Equals("Diffing")).Select(Contains("Exit diff mode")).Confirm()
t.Views().Information().Content(DoesNotContain("Building patch"))
}).
Press(keys.Universal.CreatePatchOptionsMenu)
// adding the regex '$' here to distinguish the menu item from the 'Apply patch in reverse' item
t.ExpectPopup().Menu().Title(Equals("Patch options")).Select(MatchesRegexp("Apply patch$")).Confirm()
t.Views().Files().
Focus().
SelectedLine(Contains("file1"))
t.Views().Main().Content(Contains("+second line"))
},
})