mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-07-30 03:23:08 +03:00
combine assert and input structs, clean up interface
This commit is contained in:
@ -21,38 +21,55 @@ var Diff = NewIntegrationTest(NewIntegrationTestArgs{
|
||||
|
||||
shell.Checkout("branch-a")
|
||||
},
|
||||
Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) {
|
||||
input.SwitchToBranchesView()
|
||||
Run: func(shell *Shell, input *Input, keys config.KeybindingConfig) {
|
||||
input.Views().Branches().
|
||||
Focus().
|
||||
TopLines(
|
||||
Contains("branch-a"),
|
||||
Contains("branch-b"),
|
||||
).
|
||||
Press(keys.Universal.DiffingMenu)
|
||||
|
||||
assert.Views().Current().TopLines(
|
||||
Contains("branch-a"),
|
||||
Contains("branch-b"),
|
||||
)
|
||||
input.Press(keys.Universal.DiffingMenu)
|
||||
input.Menu().Title(Equals("Diffing")).Select(Contains(`diff branch-a`)).Confirm()
|
||||
input.ExpectMenu().Title(Equals("Diffing")).Select(Contains(`diff branch-a`)).Confirm()
|
||||
|
||||
assert.Views().Current().Name("localBranches")
|
||||
input.Views().Branches().
|
||||
IsFocused()
|
||||
|
||||
assert.Views().ByName("information").Content(Contains("showing output for: git diff branch-a branch-a"))
|
||||
input.NextItem()
|
||||
assert.Views().ByName("information").Content(Contains("showing output for: git diff branch-a branch-b"))
|
||||
assert.Views().Main().Content(Contains("+second line"))
|
||||
input.Views().Information().Content(Contains("showing output for: git diff branch-a branch-a"))
|
||||
|
||||
input.Enter()
|
||||
assert.Views().Current().Name("subCommits")
|
||||
assert.Views().Main().Content(Contains("+second line"))
|
||||
assert.Views().Current().SelectedLine(Contains("update"))
|
||||
input.Enter()
|
||||
assert.Views().Current().Name("commitFiles").SelectedLine(Contains("file1"))
|
||||
assert.Views().Main().Content(Contains("+second line"))
|
||||
input.Views().Branches().
|
||||
SelectNextItem()
|
||||
|
||||
input.Press(keys.Universal.Return)
|
||||
input.Press(keys.Universal.Return)
|
||||
assert.Views().Current().Name("localBranches")
|
||||
input.Views().Information().Content(Contains("showing output for: git diff branch-a branch-b"))
|
||||
input.Views().Main().Content(Contains("+second line"))
|
||||
|
||||
input.Press(keys.Universal.DiffingMenu)
|
||||
input.Menu().Title(Equals("Diffing")).Select(Contains("reverse diff direction")).Confirm()
|
||||
assert.Views().ByName("information").Content(Contains("showing output for: git diff branch-a branch-b -R"))
|
||||
assert.Views().Main().Content(Contains("-second line"))
|
||||
input.Views().Branches().
|
||||
PressEnter()
|
||||
|
||||
input.Views().SubCommits().
|
||||
IsFocused().
|
||||
SelectedLine(Contains("update"))
|
||||
|
||||
input.Views().Main().Content(Contains("+second line"))
|
||||
|
||||
input.Views().SubCommits().
|
||||
PressEnter()
|
||||
|
||||
input.Views().CommitFiles().
|
||||
IsFocused().
|
||||
SelectedLine(Contains("file1"))
|
||||
|
||||
input.Views().Main().Content(Contains("+second line"))
|
||||
|
||||
input.Views().CommitFiles().PressEscape()
|
||||
input.Views().SubCommits().PressEscape()
|
||||
|
||||
input.Views().Branches().
|
||||
IsFocused().
|
||||
Press(keys.Universal.DiffingMenu)
|
||||
|
||||
input.ExpectMenu().Title(Equals("Diffing")).Select(Contains("reverse diff direction")).Confirm()
|
||||
input.Views().Information().Content(Contains("showing output for: git diff branch-a branch-b -R"))
|
||||
input.Views().Main().Content(Contains("-second line"))
|
||||
},
|
||||
})
|
||||
|
@ -21,48 +21,62 @@ var DiffAndApplyPatch = NewIntegrationTest(NewIntegrationTestArgs{
|
||||
|
||||
shell.Checkout("branch-a")
|
||||
},
|
||||
Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) {
|
||||
input.SwitchToBranchesView()
|
||||
assert.Views().Current().Lines(
|
||||
Contains("branch-a"),
|
||||
Contains("branch-b"),
|
||||
)
|
||||
Run: func(shell *Shell, input *Input, keys config.KeybindingConfig) {
|
||||
input.Views().Branches().
|
||||
Focus().
|
||||
Lines(
|
||||
Contains("branch-a"),
|
||||
Contains("branch-b"),
|
||||
).
|
||||
Press(keys.Universal.DiffingMenu)
|
||||
|
||||
input.Press(keys.Universal.DiffingMenu)
|
||||
input.ExpectMenu().Title(Equals("Diffing")).Select(Equals("diff branch-a")).Confirm()
|
||||
|
||||
input.Menu().Title(Equals("Diffing")).Select(Equals("diff branch-a")).Confirm()
|
||||
input.Views().Information().Content(Contains("showing output for: git diff branch-a branch-a"))
|
||||
|
||||
assert.Views().Current().Name("localBranches")
|
||||
input.Views().Branches().
|
||||
IsFocused().
|
||||
SelectNextItem()
|
||||
|
||||
assert.Views().ByName("information").Content(Contains("showing output for: git diff branch-a branch-a"))
|
||||
input.NextItem()
|
||||
assert.Views().ByName("information").Content(Contains("showing output for: git diff branch-a branch-b"))
|
||||
assert.Views().Main().Content(Contains("+second line"))
|
||||
input.Views().Information().Content(Contains("showing output for: git diff branch-a branch-b"))
|
||||
input.Views().Main().Content(Contains("+second line"))
|
||||
|
||||
input.Enter()
|
||||
assert.Views().Current().Name("subCommits")
|
||||
assert.Views().Main().Content(Contains("+second line"))
|
||||
assert.Views().Current().SelectedLine(Contains("update"))
|
||||
input.Enter()
|
||||
assert.Views().Current().Name("commitFiles")
|
||||
assert.Views().Current().SelectedLine(Contains("file1"))
|
||||
assert.Views().Main().Content(Contains("+second line"))
|
||||
input.Views().Branches().
|
||||
PressEnter()
|
||||
|
||||
// add the file to the patch
|
||||
input.PrimaryAction()
|
||||
input.Views().SubCommits().
|
||||
IsFocused().
|
||||
SelectedLine(Contains("update"))
|
||||
|
||||
input.Press(keys.Universal.DiffingMenu)
|
||||
input.Menu().Title(Equals("Diffing")).Select(Contains("exit diff mode")).Confirm()
|
||||
input.Views().Main().Content(Contains("+second line"))
|
||||
|
||||
assert.Views().ByName("information").Content(DoesNotContain("building patch"))
|
||||
input.Views().SubCommits().
|
||||
PressEnter()
|
||||
|
||||
input.Views().CommitFiles().
|
||||
IsFocused().
|
||||
SelectedLine(Contains("file1"))
|
||||
|
||||
input.Views().Main().Content(Contains("+second line"))
|
||||
|
||||
input.Views().CommitFiles().
|
||||
PressPrimaryAction(). // add the file to the patch
|
||||
Press(keys.Universal.DiffingMenu)
|
||||
|
||||
input.ExpectMenu().Title(Equals("Diffing")).Select(Contains("exit diff mode")).Confirm()
|
||||
|
||||
input.Views().Information().Content(DoesNotContain("building patch"))
|
||||
|
||||
input.Views().CommitFiles().
|
||||
Press(keys.Universal.CreatePatchOptionsMenu)
|
||||
|
||||
input.Press(keys.Universal.CreatePatchOptionsMenu)
|
||||
// adding the regex '$' here to distinguish the menu item from the 'apply patch in reverse' item
|
||||
input.Menu().Title(Equals("Patch Options")).Select(MatchesRegexp("apply patch$")).Confirm()
|
||||
input.ExpectMenu().Title(Equals("Patch Options")).Select(MatchesRegexp("apply patch$")).Confirm()
|
||||
|
||||
input.SwitchToFilesView()
|
||||
input.Views().Files().
|
||||
Focus().
|
||||
SelectedLine(Contains("file1"))
|
||||
|
||||
assert.Views().Current().SelectedLine(Contains("file1"))
|
||||
assert.Views().Main().Content(Contains("+second line"))
|
||||
input.Views().Main().Content(Contains("+second line"))
|
||||
},
|
||||
})
|
||||
|
@ -18,34 +18,41 @@ var DiffCommits = NewIntegrationTest(NewIntegrationTestArgs{
|
||||
shell.UpdateFileAndAdd("file1", "first line\nsecond line\nthird line\n")
|
||||
shell.Commit("third commit")
|
||||
},
|
||||
Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) {
|
||||
input.SwitchToCommitsView()
|
||||
Run: func(shell *Shell, input *Input, keys config.KeybindingConfig) {
|
||||
input.Views().Commits().
|
||||
Focus().
|
||||
Lines(
|
||||
Contains("third commit"),
|
||||
Contains("second commit"),
|
||||
Contains("first commit"),
|
||||
).
|
||||
Press(keys.Universal.DiffingMenu)
|
||||
|
||||
assert.Views().Current().Lines(
|
||||
Contains("third commit"),
|
||||
Contains("second commit"),
|
||||
Contains("first commit"),
|
||||
)
|
||||
input.ExpectMenu().Title(Equals("Diffing")).Select(MatchesRegexp(`diff \w+`)).Confirm()
|
||||
|
||||
input.Press(keys.Universal.DiffingMenu)
|
||||
input.Menu().Title(Equals("Diffing")).Select(MatchesRegexp(`diff \w+`)).Confirm()
|
||||
input.Views().Information().Content(Contains("showing output for: git diff"))
|
||||
|
||||
assert.Views().ByName("information").Content(Contains("showing output for: git diff"))
|
||||
input.Views().Commits().
|
||||
SelectNextItem().
|
||||
SelectNextItem().
|
||||
SelectedLine(Contains("first commit"))
|
||||
|
||||
input.NextItem()
|
||||
input.NextItem()
|
||||
assert.Views().Current().SelectedLine(Contains("first commit"))
|
||||
input.Views().Main().Content(Contains("-second line\n-third line"))
|
||||
|
||||
assert.Views().Main().Content(Contains("-second line\n-third line"))
|
||||
input.Views().Commits().
|
||||
Press(keys.Universal.DiffingMenu)
|
||||
|
||||
input.Press(keys.Universal.DiffingMenu)
|
||||
input.Menu().Title(Equals("Diffing")).Select(Contains("reverse diff direction")).Confirm()
|
||||
input.ExpectMenu().Title(Equals("Diffing")).Select(Contains("reverse diff direction")).Confirm()
|
||||
|
||||
assert.Views().Main().Content(Contains("+second line\n+third line"))
|
||||
input.Views().Main().Content(Contains("+second line\n+third line"))
|
||||
|
||||
input.Enter()
|
||||
input.Views().Commits().
|
||||
PressEnter()
|
||||
|
||||
assert.Views().Current().Name("commitFiles").SelectedLine(Contains("file1"))
|
||||
assert.Views().Main().Content(Contains("+second line\n+third line"))
|
||||
input.Views().CommitFiles().
|
||||
IsFocused().
|
||||
SelectedLine(Contains("file1"))
|
||||
|
||||
input.Views().Main().Content(Contains("+second line\n+third line"))
|
||||
},
|
||||
})
|
||||
|
Reference in New Issue
Block a user