1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-03-05 15:15:49 +02:00

add view asserter getter struct

This commit is contained in:
Jesse Duffield 2022-12-27 15:07:11 +11:00
parent b64f55518b
commit be30cbb375
35 changed files with 184 additions and 174 deletions

View File

@ -8,7 +8,7 @@ type AlertAsserter struct {
} }
func (self *AlertAsserter) getViewAsserter() *ViewAsserter { func (self *AlertAsserter) getViewAsserter() *ViewAsserter {
return self.assert.View("confirmation") return self.assert.Views().ByName("confirmation")
} }
// asserts that the alert view has the expected title // asserts that the alert view has the expected title

View File

@ -182,34 +182,44 @@ func (self *Assert) FileSystemPathNotPresent(path string) {
}) })
} }
func (self *Assert) CurrentView() *ViewAsserter { func (self *Assert) Views() *ViewAsserterGetter {
return &ViewAsserterGetter{
assert: self,
}
}
type ViewAsserterGetter struct {
assert *Assert
}
func (self *ViewAsserterGetter) Current() *ViewAsserter {
return &ViewAsserter{ return &ViewAsserter{
context: "current view", context: "current view",
getView: func() *gocui.View { return self.gui.CurrentContext().GetView() }, getView: func() *gocui.View { return self.assert.gui.CurrentContext().GetView() },
assert: self, assert: self.assert,
} }
} }
func (self *Assert) View(viewName string) *ViewAsserter { func (self *ViewAsserterGetter) Main() *ViewAsserter {
return &ViewAsserter{
context: fmt.Sprintf("%s view", viewName),
getView: func() *gocui.View { return self.gui.View(viewName) },
assert: self,
}
}
func (self *Assert) MainView() *ViewAsserter {
return &ViewAsserter{ return &ViewAsserter{
context: "main view", context: "main view",
getView: func() *gocui.View { return self.gui.MainView() }, getView: func() *gocui.View { return self.assert.gui.MainView() },
assert: self, assert: self.assert,
} }
} }
func (self *Assert) SecondaryView() *ViewAsserter { func (self *ViewAsserterGetter) Secondary() *ViewAsserter {
return &ViewAsserter{ return &ViewAsserter{
context: "secondary view", context: "secondary view",
getView: func() *gocui.View { return self.gui.SecondaryView() }, getView: func() *gocui.View { return self.assert.gui.SecondaryView() },
assert: self, assert: self.assert,
}
}
func (self *ViewAsserterGetter) ByName(viewName string) *ViewAsserter {
return &ViewAsserter{
context: fmt.Sprintf("%s view", viewName),
getView: func() *gocui.View { return self.assert.gui.View(viewName) },
assert: self.assert,
} }
} }

View File

@ -6,7 +6,7 @@ type CommitMessagePanelAsserter struct {
} }
func (self *CommitMessagePanelAsserter) getViewAsserter() *ViewAsserter { func (self *CommitMessagePanelAsserter) getViewAsserter() *ViewAsserter {
return self.assert.View("commitMessage") return self.assert.Views().ByName("commitMessage")
} }
// asserts on the text initially present in the prompt // asserts on the text initially present in the prompt

View File

@ -8,7 +8,7 @@ type ConfirmationAsserter struct {
} }
func (self *ConfirmationAsserter) getViewAsserter() *ViewAsserter { func (self *ConfirmationAsserter) getViewAsserter() *ViewAsserter {
return self.assert.View("confirmation") return self.assert.Views().ByName("confirmation")
} }
// asserts that the confirmation view has the expected title // asserts that the confirmation view has the expected title

View File

@ -48,7 +48,7 @@ func (self *Input) SwitchToStatusWindow() {
// switch to status window and assert that the status view is on top // switch to status window and assert that the status view is on top
func (self *Input) SwitchToStatusView() { func (self *Input) SwitchToStatusView() {
self.SwitchToStatusWindow() self.SwitchToStatusWindow()
self.assert.CurrentView().Name("status") self.assert.Views().Current().Name("status")
} }
func (self *Input) SwitchToFilesWindow() { func (self *Input) SwitchToFilesWindow() {
@ -59,7 +59,7 @@ func (self *Input) SwitchToFilesWindow() {
// switch to files window and assert that the files view is on top // switch to files window and assert that the files view is on top
func (self *Input) SwitchToFilesView() { func (self *Input) SwitchToFilesView() {
self.SwitchToFilesWindow() self.SwitchToFilesWindow()
self.assert.CurrentView().Name("files") self.assert.Views().Current().Name("files")
} }
func (self *Input) SwitchToBranchesWindow() { func (self *Input) SwitchToBranchesWindow() {
@ -70,7 +70,7 @@ func (self *Input) SwitchToBranchesWindow() {
// switch to branches window and assert that the branches view is on top // switch to branches window and assert that the branches view is on top
func (self *Input) SwitchToBranchesView() { func (self *Input) SwitchToBranchesView() {
self.SwitchToBranchesWindow() self.SwitchToBranchesWindow()
self.assert.CurrentView().Name("localBranches") self.assert.Views().Current().Name("localBranches")
} }
func (self *Input) SwitchToCommitsWindow() { func (self *Input) SwitchToCommitsWindow() {
@ -81,7 +81,7 @@ func (self *Input) SwitchToCommitsWindow() {
// switch to commits window and assert that the commits view is on top // switch to commits window and assert that the commits view is on top
func (self *Input) SwitchToCommitsView() { func (self *Input) SwitchToCommitsView() {
self.SwitchToCommitsWindow() self.SwitchToCommitsWindow()
self.assert.CurrentView().Name("commits") self.assert.Views().Current().Name("commits")
} }
func (self *Input) SwitchToStashWindow() { func (self *Input) SwitchToStashWindow() {
@ -92,7 +92,7 @@ func (self *Input) SwitchToStashWindow() {
// switch to stash window and assert that the stash view is on top // switch to stash window and assert that the stash view is on top
func (self *Input) SwitchToStashView() { func (self *Input) SwitchToStashView() {
self.SwitchToStashWindow() self.SwitchToStashWindow()
self.assert.CurrentView().Name("stash") self.assert.Views().Current().Name("stash")
} }
func (self *Input) Type(content string) { func (self *Input) Type(content string) {
@ -133,7 +133,7 @@ func (self *Input) PreviousItem() {
func (self *Input) ContinueMerge() { func (self *Input) ContinueMerge() {
self.Press(self.keys.Universal.CreateRebaseOptionsMenu) self.Press(self.keys.Universal.CreateRebaseOptionsMenu)
self.assert.CurrentView().SelectedLine(Contains("continue")) self.assert.Views().Current().SelectedLine(Contains("continue"))
self.Confirm() self.Confirm()
} }
@ -197,20 +197,20 @@ func (self *Input) NavigateToListItem(matcher *matcher) {
selectedLineIdx := view.SelectedLineIdx() selectedLineIdx := view.SelectedLineIdx()
if selectedLineIdx == matchIndex { if selectedLineIdx == matchIndex {
self.assert.CurrentView().SelectedLine(matcher) self.assert.Views().Current().SelectedLine(matcher)
return return
} }
if selectedLineIdx < matchIndex { if selectedLineIdx < matchIndex {
for i := selectedLineIdx; i < matchIndex; i++ { for i := selectedLineIdx; i < matchIndex; i++ {
self.NextItem() self.NextItem()
} }
self.assert.CurrentView().SelectedLine(matcher) self.assert.Views().Current().SelectedLine(matcher)
return return
} else { } else {
for i := selectedLineIdx; i > matchIndex; i-- { for i := selectedLineIdx; i > matchIndex; i-- {
self.PreviousItem() self.PreviousItem()
} }
self.assert.CurrentView().SelectedLine(matcher) self.assert.Views().Current().SelectedLine(matcher)
return return
} }
} }

View File

@ -7,7 +7,7 @@ type MenuAsserter struct {
} }
func (self *MenuAsserter) getViewAsserter() *ViewAsserter { func (self *MenuAsserter) getViewAsserter() *ViewAsserter {
return self.assert.View("menu") return self.assert.Views().ByName("menu")
} }
// asserts that the popup has the expected title // asserts that the popup has the expected title

View File

@ -7,7 +7,7 @@ type PromptAsserter struct {
} }
func (self *PromptAsserter) getViewAsserter() *ViewAsserter { func (self *PromptAsserter) getViewAsserter() *ViewAsserter {
return self.assert.View("confirmation") return self.assert.Views().ByName("confirmation")
} }
// asserts that the popup has the expected title // asserts that the popup has the expected title
@ -55,27 +55,27 @@ func (self *PromptAsserter) checkNecessaryChecksCompleted() {
} }
func (self *PromptAsserter) SuggestionLines(matchers ...*matcher) *PromptAsserter { func (self *PromptAsserter) SuggestionLines(matchers ...*matcher) *PromptAsserter {
self.assert.View("suggestions").Lines(matchers...) self.assert.Views().ByName("suggestions").Lines(matchers...)
return self return self
} }
func (self *PromptAsserter) SuggestionTopLines(matchers ...*matcher) *PromptAsserter { func (self *PromptAsserter) SuggestionTopLines(matchers ...*matcher) *PromptAsserter {
self.assert.View("suggestions").TopLines(matchers...) self.assert.Views().ByName("suggestions").TopLines(matchers...)
return self return self
} }
func (self *PromptAsserter) SelectFirstSuggestion() *PromptAsserter { func (self *PromptAsserter) SelectFirstSuggestion() *PromptAsserter {
self.input.Press(self.input.keys.Universal.TogglePanel) self.input.Press(self.input.keys.Universal.TogglePanel)
self.assert.CurrentView().Name("suggestions") self.assert.Views().Current().Name("suggestions")
return self return self
} }
func (self *PromptAsserter) SelectSuggestion(matcher *matcher) *PromptAsserter { func (self *PromptAsserter) SelectSuggestion(matcher *matcher) *PromptAsserter {
self.input.Press(self.input.keys.Universal.TogglePanel) self.input.Press(self.input.keys.Universal.TogglePanel)
self.assert.CurrentView().Name("suggestions") self.assert.Views().Current().Name("suggestions")
self.input.NavigateToListItem(matcher) self.input.NavigateToListItem(matcher)

View File

@ -34,28 +34,28 @@ var Basic = NewIntegrationTest(NewIntegrationTestArgs{
input.SwitchToCommitsView() input.SwitchToCommitsView()
assert.CurrentView().SelectedLine(Contains("commit 10")) assert.Views().Current().SelectedLine(Contains("commit 10"))
input.NavigateToListItem(Contains("commit 09")) input.NavigateToListItem(Contains("commit 09"))
markCommitAsBad() markCommitAsBad()
assert.View("information").Content(Contains("bisecting")) assert.Views().ByName("information").Content(Contains("bisecting"))
assert.CurrentView().Name("commits").SelectedLine(Contains("<-- bad")) assert.Views().Current().Name("commits").SelectedLine(Contains("<-- bad"))
input.NavigateToListItem(Contains("commit 02")) input.NavigateToListItem(Contains("commit 02"))
markCommitAsGood() markCommitAsGood()
// lazygit will land us in the commit between our good and bad commits. // lazygit will land us in the commit between our good and bad commits.
assert.CurrentView(). assert.Views().Current().
Name("commits"). Name("commits").
SelectedLine(Contains("commit 05").Contains("<-- current")) SelectedLine(Contains("commit 05").Contains("<-- current"))
markCommitAsBad() markCommitAsBad()
assert.CurrentView(). assert.Views().Current().
Name("commits"). Name("commits").
SelectedLine(Contains("commit 04").Contains("<-- current")) SelectedLine(Contains("commit 04").Contains("<-- current"))
@ -64,7 +64,7 @@ var Basic = NewIntegrationTest(NewIntegrationTestArgs{
// commit 5 is the culprit because we marked 4 as good and 5 as bad. // commit 5 is the culprit because we marked 4 as good and 5 as bad.
input.Alert().Title(Equals("Bisect complete")).Content(MatchesRegexp("(?s)commit 05.*Do you want to reset")).Confirm() input.Alert().Title(Equals("Bisect complete")).Content(MatchesRegexp("(?s)commit 05.*Do you want to reset")).Confirm()
assert.CurrentView().Name("commits").Content(Contains("commit 04")) assert.Views().Current().Name("commits").Content(Contains("commit 04"))
assert.View("information").Content(DoesNotContain("bisecting")) assert.Views().ByName("information").Content(DoesNotContain("bisecting"))
}, },
}) })

View File

@ -24,13 +24,13 @@ var FromOtherBranch = NewIntegrationTest(NewIntegrationTestArgs{
assert *Assert, assert *Assert,
keys config.KeybindingConfig, keys config.KeybindingConfig,
) { ) {
assert.View("information").Content(Contains("bisecting")) assert.Views().ByName("information").Content(Contains("bisecting"))
assert.AtLeastOneCommit() assert.AtLeastOneCommit()
input.SwitchToCommitsView() input.SwitchToCommitsView()
assert.CurrentView().TopLines( assert.Views().Current().TopLines(
MatchesRegexp(`<-- bad.*commit 08`), MatchesRegexp(`<-- bad.*commit 08`),
MatchesRegexp(`<-- current.*commit 07`), MatchesRegexp(`<-- current.*commit 07`),
MatchesRegexp(`\?.*commit 06`), MatchesRegexp(`\?.*commit 06`),
@ -44,10 +44,10 @@ var FromOtherBranch = NewIntegrationTest(NewIntegrationTestArgs{
input.Alert().Title(Equals("Bisect complete")).Content(MatchesRegexp("(?s)commit 08.*Do you want to reset")).Confirm() input.Alert().Title(Equals("Bisect complete")).Content(MatchesRegexp("(?s)commit 08.*Do you want to reset")).Confirm()
assert.View("information").Content(DoesNotContain("bisecting")) assert.Views().ByName("information").Content(DoesNotContain("bisecting"))
// back in master branch which just had the one commit // back in master branch which just had the one commit
assert.CurrentView().Name("commits").Lines( assert.Views().Current().Name("commits").Lines(
Contains("only commit on master"), Contains("only commit on master"),
) )
}, },

View File

@ -20,7 +20,7 @@ var CheckoutByName = NewIntegrationTest(NewIntegrationTestArgs{
Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) { Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) {
input.SwitchToBranchesView() input.SwitchToBranchesView()
assert.CurrentView().Lines( assert.Views().Current().Lines(
Contains("master"), Contains("master"),
Contains("@"), Contains("@"),
) )
@ -32,7 +32,7 @@ var CheckoutByName = NewIntegrationTest(NewIntegrationTestArgs{
input.Alert().Title(Equals("Branch not found")).Content(Equals("Branch not found. Create a new branch named new-branch?")).Confirm() input.Alert().Title(Equals("Branch not found")).Content(Equals("Branch not found. Create a new branch named new-branch?")).Confirm()
assert.CurrentView().Name("localBranches"). assert.Views().Current().Name("localBranches").
Lines( Lines(
MatchesRegexp(`\*.*new-branch`), MatchesRegexp(`\*.*new-branch`),
Contains("master"), Contains("master"),

View File

@ -19,7 +19,7 @@ var Delete = NewIntegrationTest(NewIntegrationTestArgs{
Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) { Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) {
input.SwitchToBranchesView() input.SwitchToBranchesView()
assert.CurrentView().Lines( assert.Views().Current().Lines(
MatchesRegexp(`\*.*branch-two`), MatchesRegexp(`\*.*branch-two`),
MatchesRegexp(`branch-one`), MatchesRegexp(`branch-one`),
MatchesRegexp(`master`), MatchesRegexp(`master`),
@ -36,7 +36,7 @@ var Delete = NewIntegrationTest(NewIntegrationTestArgs{
Content(Contains("Are you sure you want to delete the branch 'branch-one'?")). Content(Contains("Are you sure you want to delete the branch 'branch-one'?")).
Confirm() Confirm()
assert.CurrentView().Name("localBranches"). assert.Views().Current().Name("localBranches").
Lines( Lines(
MatchesRegexp(`\*.*branch-two`), MatchesRegexp(`\*.*branch-two`),
MatchesRegexp(`master`).IsSelected(), MatchesRegexp(`master`).IsSelected(),

View File

@ -17,13 +17,13 @@ var Rebase = NewIntegrationTest(NewIntegrationTestArgs{
Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) { Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) {
input.SwitchToBranchesView() input.SwitchToBranchesView()
assert.View("localBranches").Lines( assert.Views().ByName("localBranches").Lines(
Contains("first-change-branch"), Contains("first-change-branch"),
Contains("second-change-branch"), Contains("second-change-branch"),
Contains("original-branch"), Contains("original-branch"),
) )
assert.View("commits").TopLines( assert.Views().ByName("commits").TopLines(
Contains("first change"), Contains("first change"),
Contains("original"), Contains("original"),
) )
@ -40,25 +40,25 @@ var Rebase = NewIntegrationTest(NewIntegrationTestArgs{
Content(Contains("Conflicts!")). Content(Contains("Conflicts!")).
Confirm() Confirm()
assert.CurrentView().Name("files").SelectedLine(Contains("file")) assert.Views().Current().Name("files").SelectedLine(Contains("file"))
// not using Confirm() convenience method because I suspect we might change this // not using Confirm() convenience method because I suspect we might change this
// keybinding to something more bespoke // keybinding to something more bespoke
input.Press(keys.Universal.Confirm) input.Press(keys.Universal.Confirm)
assert.CurrentView().Name("mergeConflicts") assert.Views().Current().Name("mergeConflicts")
input.PrimaryAction() input.PrimaryAction()
assert.View("information").Content(Contains("rebasing")) assert.Views().ByName("information").Content(Contains("rebasing"))
input.Confirmation(). input.Confirmation().
Title(Equals("continue")). Title(Equals("continue")).
Content(Contains("all merge conflicts resolved. Continue?")). Content(Contains("all merge conflicts resolved. Continue?")).
Confirm() Confirm()
assert.View("information").Content(DoesNotContain("rebasing")) assert.Views().ByName("information").Content(DoesNotContain("rebasing"))
assert.View("commits").TopLines( assert.Views().ByName("commits").TopLines(
Contains("second-change-branch unrelated change"), Contains("second-change-branch unrelated change"),
Contains("second change"), Contains("second change"),
Contains("original"), Contains("original"),

View File

@ -20,13 +20,13 @@ var RebaseAndDrop = NewIntegrationTest(NewIntegrationTestArgs{
Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) { Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) {
input.SwitchToBranchesView() input.SwitchToBranchesView()
assert.CurrentView().Lines( assert.Views().Current().Lines(
Contains("first-change-branch"), Contains("first-change-branch"),
Contains("second-change-branch"), Contains("second-change-branch"),
Contains("original-branch"), Contains("original-branch"),
) )
assert.View("commits").TopLines( assert.Views().ByName("commits").TopLines(
Contains("to keep").IsSelected(), Contains("to keep").IsSelected(),
Contains("to remove"), Contains("to remove"),
Contains("first change"), Contains("first change"),
@ -41,19 +41,19 @@ var RebaseAndDrop = NewIntegrationTest(NewIntegrationTestArgs{
Content(Contains("Are you sure you want to rebase 'first-change-branch' on top of 'second-change-branch'?")). Content(Contains("Are you sure you want to rebase 'first-change-branch' on top of 'second-change-branch'?")).
Confirm() Confirm()
assert.View("information").Content(Contains("rebasing")) assert.Views().ByName("information").Content(Contains("rebasing"))
input.Confirmation(). input.Confirmation().
Title(Equals("Auto-merge failed")). Title(Equals("Auto-merge failed")).
Content(Contains("Conflicts!")). Content(Contains("Conflicts!")).
Confirm() Confirm()
assert.CurrentView(). assert.Views().Current().
Name("files"). Name("files").
SelectedLine(MatchesRegexp("UU.*file")) SelectedLine(MatchesRegexp("UU.*file"))
input.SwitchToCommitsView() input.SwitchToCommitsView()
assert.CurrentView(). assert.Views().Current().
TopLines( TopLines(
MatchesRegexp(`pick.*to keep`).IsSelected(), MatchesRegexp(`pick.*to keep`).IsSelected(),
MatchesRegexp(`pick.*to remove`), MatchesRegexp(`pick.*to remove`),
@ -65,7 +65,7 @@ var RebaseAndDrop = NewIntegrationTest(NewIntegrationTestArgs{
input.NextItem() input.NextItem()
input.Press(keys.Universal.Remove) input.Press(keys.Universal.Remove)
assert.CurrentView(). assert.Views().Current().
TopLines( TopLines(
MatchesRegexp(`pick.*to keep`), MatchesRegexp(`pick.*to keep`),
MatchesRegexp(`drop.*to remove`).IsSelected(), MatchesRegexp(`drop.*to remove`).IsSelected(),
@ -80,7 +80,7 @@ var RebaseAndDrop = NewIntegrationTest(NewIntegrationTestArgs{
// keybinding to something more bespoke // keybinding to something more bespoke
input.Press(keys.Universal.Confirm) input.Press(keys.Universal.Confirm)
assert.CurrentView().Name("mergeConflicts") assert.Views().Current().Name("mergeConflicts")
input.PrimaryAction() input.PrimaryAction()
input.Confirmation(). input.Confirmation().
@ -88,9 +88,9 @@ var RebaseAndDrop = NewIntegrationTest(NewIntegrationTestArgs{
Content(Contains("all merge conflicts resolved. Continue?")). Content(Contains("all merge conflicts resolved. Continue?")).
Confirm() Confirm()
assert.View("information").Content(DoesNotContain("rebasing")) assert.Views().ByName("information").Content(DoesNotContain("rebasing"))
assert.View("commits").TopLines( assert.Views().ByName("commits").TopLines(
Contains("to keep"), Contains("to keep"),
Contains("second-change-branch unrelated change").IsSelected(), Contains("second-change-branch unrelated change").IsSelected(),
Contains("second change"), Contains("second change"),

View File

@ -21,14 +21,14 @@ var Reset = NewIntegrationTest(NewIntegrationTestArgs{
shell.EmptyCommit("current-branch commit") shell.EmptyCommit("current-branch commit")
}, },
Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) { Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) {
assert.View("commits").Lines( assert.Views().ByName("commits").Lines(
Contains("current-branch commit"), Contains("current-branch commit"),
Contains("root commit"), Contains("root commit"),
) )
input.SwitchToBranchesView() input.SwitchToBranchesView()
assert.CurrentView().Lines( assert.Views().Current().Lines(
Contains("current-branch"), Contains("current-branch"),
Contains("other-branch"), Contains("other-branch"),
) )
@ -39,11 +39,11 @@ var Reset = NewIntegrationTest(NewIntegrationTestArgs{
input.Menu().Title(Contains("reset to other-branch")).Select(Contains("hard reset")).Confirm() input.Menu().Title(Contains("reset to other-branch")).Select(Contains("hard reset")).Confirm()
// ensure that we've returned from the menu before continuing // ensure that we've returned from the menu before continuing
assert.CurrentView().Name("localBranches") assert.Views().Current().Name("localBranches")
// assert that we now have the expected commits in the commit panel // assert that we now have the expected commits in the commit panel
input.SwitchToCommitsView() input.SwitchToCommitsView()
assert.CurrentView().Lines( assert.Views().Current().Lines(
Contains("other-branch commit"), Contains("other-branch commit"),
Contains("root commit"), Contains("root commit"),
) )

View File

@ -26,7 +26,7 @@ var CherryPick = NewIntegrationTest(NewIntegrationTestArgs{
Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) { Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) {
input.SwitchToBranchesView() input.SwitchToBranchesView()
assert.CurrentView().Lines( assert.Views().Current().Lines(
Contains("first-branch"), Contains("first-branch"),
Contains("second-branch"), Contains("second-branch"),
Contains("master"), Contains("master"),
@ -36,7 +36,7 @@ var CherryPick = NewIntegrationTest(NewIntegrationTestArgs{
input.Enter() input.Enter()
assert.CurrentView().Name("subCommits").Lines( assert.Views().Current().Name("subCommits").Lines(
Contains("four"), Contains("four"),
Contains("three"), Contains("three"),
Contains("base"), Contains("base"),
@ -44,14 +44,14 @@ var CherryPick = NewIntegrationTest(NewIntegrationTestArgs{
// copy commits 'four' and 'three' // copy commits 'four' and 'three'
input.Press(keys.Commits.CherryPickCopy) input.Press(keys.Commits.CherryPickCopy)
assert.View("information").Content(Contains("1 commit copied")) assert.Views().ByName("information").Content(Contains("1 commit copied"))
input.NextItem() input.NextItem()
input.Press(keys.Commits.CherryPickCopy) input.Press(keys.Commits.CherryPickCopy)
assert.View("information").Content(Contains("2 commits copied")) assert.Views().ByName("information").Content(Contains("2 commits copied"))
input.SwitchToCommitsView() input.SwitchToCommitsView()
assert.CurrentView().Lines( assert.Views().Current().Lines(
Contains("two"), Contains("two"),
Contains("one"), Contains("one"),
Contains("base"), Contains("base"),
@ -63,7 +63,7 @@ var CherryPick = NewIntegrationTest(NewIntegrationTestArgs{
Content(Contains("Are you sure you want to cherry-pick the copied commits onto this branch?")). Content(Contains("Are you sure you want to cherry-pick the copied commits onto this branch?")).
Confirm() Confirm()
assert.CurrentView().Name("commits").Lines( assert.Views().Current().Name("commits").Lines(
Contains("four"), Contains("four"),
Contains("three"), Contains("three"),
Contains("two"), Contains("two"),
@ -71,8 +71,8 @@ var CherryPick = NewIntegrationTest(NewIntegrationTestArgs{
Contains("base"), Contains("base"),
) )
assert.View("information").Content(Contains("2 commits copied")) assert.Views().ByName("information").Content(Contains("2 commits copied"))
input.Press(keys.Universal.Return) input.Press(keys.Universal.Return)
assert.View("information").Content(DoesNotContain("commits copied")) assert.Views().ByName("information").Content(DoesNotContain("commits copied"))
}, },
}) })

View File

@ -16,7 +16,7 @@ var CherryPickConflicts = NewIntegrationTest(NewIntegrationTestArgs{
}, },
Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) { Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) {
input.SwitchToBranchesView() input.SwitchToBranchesView()
assert.CurrentView().Lines( assert.Views().Current().Lines(
Contains("first-change-branch"), Contains("first-change-branch"),
Contains("second-change-branch"), Contains("second-change-branch"),
Contains("original-branch"), Contains("original-branch"),
@ -26,21 +26,21 @@ var CherryPickConflicts = NewIntegrationTest(NewIntegrationTestArgs{
input.Enter() input.Enter()
assert.CurrentView().Name("subCommits").TopLines( assert.Views().Current().Name("subCommits").TopLines(
Contains("second-change-branch unrelated change"), Contains("second-change-branch unrelated change"),
Contains("second change"), Contains("second change"),
) )
input.Press(keys.Commits.CherryPickCopy) input.Press(keys.Commits.CherryPickCopy)
assert.View("information").Content(Contains("1 commit copied")) assert.Views().ByName("information").Content(Contains("1 commit copied"))
input.NextItem() input.NextItem()
input.Press(keys.Commits.CherryPickCopy) input.Press(keys.Commits.CherryPickCopy)
assert.View("information").Content(Contains("2 commits copied")) assert.Views().ByName("information").Content(Contains("2 commits copied"))
input.SwitchToCommitsView() input.SwitchToCommitsView()
assert.CurrentView().TopLines( assert.Views().Current().TopLines(
Contains("first change"), Contains("first change"),
) )
@ -52,14 +52,14 @@ var CherryPickConflicts = NewIntegrationTest(NewIntegrationTestArgs{
Content(Contains("Conflicts!")). Content(Contains("Conflicts!")).
Confirm() Confirm()
assert.CurrentView().Name("files") assert.Views().Current().Name("files")
assert.CurrentView().SelectedLine(Contains("file")) assert.Views().Current().SelectedLine(Contains("file"))
// not using Confirm() convenience method because I suspect we might change this // not using Confirm() convenience method because I suspect we might change this
// keybinding to something more bespoke // keybinding to something more bespoke
input.Press(keys.Universal.Confirm) input.Press(keys.Universal.Confirm)
assert.CurrentView().Name("mergeConflicts") assert.Views().Current().Name("mergeConflicts")
// picking 'Second change' // picking 'Second change'
input.NextItem() input.NextItem()
input.PrimaryAction() input.PrimaryAction()
@ -69,12 +69,12 @@ var CherryPickConflicts = NewIntegrationTest(NewIntegrationTestArgs{
Content(Contains("all merge conflicts resolved. Continue?")). Content(Contains("all merge conflicts resolved. Continue?")).
Confirm() Confirm()
assert.CurrentView().Name("files") assert.Views().Current().Name("files")
assert.WorkingTreeFileCount(0) assert.WorkingTreeFileCount(0)
input.SwitchToCommitsView() input.SwitchToCommitsView()
assert.CurrentView().TopLines( assert.Views().Current().TopLines(
Contains("second-change-branch unrelated change"), Contains("second-change-branch unrelated change"),
Contains("second change"), Contains("second change"),
Contains("first change"), Contains("first change"),
@ -83,12 +83,12 @@ var CherryPickConflicts = NewIntegrationTest(NewIntegrationTestArgs{
// because we picked 'Second change' when resolving the conflict, // because we picked 'Second change' when resolving the conflict,
// we now see this commit as having replaced First Change with Second Change, // we now see this commit as having replaced First Change with Second Change,
// as opposed to replacing 'Original' with 'Second change' // as opposed to replacing 'Original' with 'Second change'
assert.MainView(). assert.Views().Main().
Content(Contains("-First Change")). Content(Contains("-First Change")).
Content(Contains("+Second Change")) Content(Contains("+Second Change"))
assert.View("information").Content(Contains("2 commits copied")) assert.Views().ByName("information").Content(Contains("2 commits copied"))
input.Press(keys.Universal.Return) input.Press(keys.Universal.Return)
assert.View("information").Content(DoesNotContain("commits copied")) assert.Views().ByName("information").Content(DoesNotContain("commits copied"))
}, },
}) })

View File

@ -25,6 +25,6 @@ var CommitMultiline = NewIntegrationTest(NewIntegrationTestArgs{
assert.HeadCommitMessage(Equals("first line")) assert.HeadCommitMessage(Equals("first line"))
input.SwitchToCommitsView() input.SwitchToCommitsView()
assert.MainView().Content(MatchesRegexp("first line\n\\s*\n\\s*third line")) assert.Views().Main().Content(MatchesRegexp("first line\n\\s*\n\\s*third line"))
}, },
}) })

View File

@ -20,7 +20,7 @@ var NewBranch = NewIntegrationTest(NewIntegrationTestArgs{
assert.CommitCount(3) assert.CommitCount(3)
input.SwitchToCommitsView() input.SwitchToCommitsView()
assert.CurrentView().Lines( assert.Views().Current().Lines(
Contains("commit 3"), Contains("commit 3"),
Contains("commit 2"), Contains("commit 2"),
Contains("commit 1"), Contains("commit 1"),
@ -34,7 +34,7 @@ var NewBranch = NewIntegrationTest(NewIntegrationTestArgs{
assert.CurrentBranchName(branchName) assert.CurrentBranchName(branchName)
assert.View("commits").Lines( assert.Views().ByName("commits").Lines(
Contains("commit 2"), Contains("commit 2"),
Contains("commit 1"), Contains("commit 1"),
) )

View File

@ -20,7 +20,7 @@ var Revert = NewIntegrationTest(NewIntegrationTestArgs{
input.SwitchToCommitsView() input.SwitchToCommitsView()
assert.CurrentView().Lines( assert.Views().Current().Lines(
Contains("first commit"), Contains("first commit"),
) )
@ -30,13 +30,13 @@ var Revert = NewIntegrationTest(NewIntegrationTestArgs{
Content(MatchesRegexp(`Are you sure you want to revert \w+?`)). Content(MatchesRegexp(`Are you sure you want to revert \w+?`)).
Confirm() Confirm()
assert.CurrentView().Name("commits"). assert.Views().Current().Name("commits").
Lines( Lines(
Contains("Revert \"first commit\"").IsSelected(), Contains("Revert \"first commit\"").IsSelected(),
Contains("first commit"), Contains("first commit"),
) )
assert.MainView().Content(Contains("-myfile content")) assert.Views().Main().Content(Contains("-myfile content"))
assert.FileSystemPathNotPresent("myfile") assert.FileSystemPathNotPresent("myfile")
}, },
}) })

View File

@ -18,26 +18,26 @@ var Staged = NewIntegrationTest(NewIntegrationTestArgs{
Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) { Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) {
assert.CommitCount(0) assert.CommitCount(0)
assert.CurrentView().Name("files") assert.Views().Current().Name("files")
assert.CurrentView().SelectedLine(Contains("myfile")) assert.Views().Current().SelectedLine(Contains("myfile"))
// stage the file // stage the file
input.PrimaryAction() input.PrimaryAction()
input.Enter() input.Enter()
assert.CurrentView().Name("stagingSecondary") assert.Views().Current().Name("stagingSecondary")
// we start with both lines having been staged // we start with both lines having been staged
assert.View("stagingSecondary").Content(Contains("+myfile content")) assert.Views().ByName("stagingSecondary").Content(Contains("+myfile content"))
assert.View("stagingSecondary").Content(Contains("+with a second line")) assert.Views().ByName("stagingSecondary").Content(Contains("+with a second line"))
assert.View("staging").Content(DoesNotContain("+myfile content")) assert.Views().ByName("staging").Content(DoesNotContain("+myfile content"))
assert.View("staging").Content(DoesNotContain("+with a second line")) assert.Views().ByName("staging").Content(DoesNotContain("+with a second line"))
// unstage the selected line // unstage the selected line
input.PrimaryAction() input.PrimaryAction()
// the line should have been moved to the main view // the line should have been moved to the main view
assert.View("stagingSecondary").Content(DoesNotContain("+myfile content")) assert.Views().ByName("stagingSecondary").Content(DoesNotContain("+myfile content"))
assert.View("stagingSecondary").Content(Contains("+with a second line")) assert.Views().ByName("stagingSecondary").Content(Contains("+with a second line"))
assert.View("staging").Content(Contains("+myfile content")) assert.Views().ByName("staging").Content(Contains("+myfile content"))
assert.View("staging").Content(DoesNotContain("+with a second line")) assert.Views().ByName("staging").Content(DoesNotContain("+with a second line"))
input.Press(keys.Files.CommitChanges) input.Press(keys.Files.CommitChanges)
commitMessage := "my commit message" commitMessage := "my commit message"

View File

@ -19,16 +19,16 @@ var StagedWithoutHooks = NewIntegrationTest(NewIntegrationTestArgs{
assert.CommitCount(0) assert.CommitCount(0)
// stage the file // stage the file
assert.CurrentView().Name("files") assert.Views().Current().Name("files")
assert.CurrentView().SelectedLine(Contains("myfile")) assert.Views().Current().SelectedLine(Contains("myfile"))
input.PrimaryAction() input.PrimaryAction()
input.Enter() input.Enter()
assert.CurrentView().Name("stagingSecondary") assert.Views().Current().Name("stagingSecondary")
// we start with both lines having been staged // we start with both lines having been staged
assert.View("stagingSecondary").Content( assert.Views().ByName("stagingSecondary").Content(
Contains("+myfile content").Contains("+with a second line"), Contains("+myfile content").Contains("+with a second line"),
) )
assert.View("staging").Content( assert.Views().ByName("staging").Content(
DoesNotContain("+myfile content").DoesNotContain("+with a second line"), DoesNotContain("+myfile content").DoesNotContain("+with a second line"),
) )
@ -36,8 +36,8 @@ var StagedWithoutHooks = NewIntegrationTest(NewIntegrationTestArgs{
input.PrimaryAction() input.PrimaryAction()
// the line should have been moved to the main view // the line should have been moved to the main view
assert.View("stagingSecondary").Content(DoesNotContain("+myfile content").Contains("+with a second line")) assert.Views().ByName("stagingSecondary").Content(DoesNotContain("+myfile content").Contains("+with a second line"))
assert.View("staging").Content(Contains("+myfile content").DoesNotContain("+with a second line")) assert.Views().ByName("staging").Content(Contains("+myfile content").DoesNotContain("+with a second line"))
input.Press(keys.Files.CommitChangesWithoutHook) input.Press(keys.Files.CommitChangesWithoutHook)
@ -46,7 +46,7 @@ var StagedWithoutHooks = NewIntegrationTest(NewIntegrationTestArgs{
assert.CommitCount(1) assert.CommitCount(1)
assert.HeadCommitMessage(Equals("WIP" + commitMessage)) assert.HeadCommitMessage(Equals("WIP" + commitMessage))
assert.CurrentView().Name("stagingSecondary") assert.Views().Current().Name("stagingSecondary")
// TODO: assert that the staging panel has been refreshed (it currently does not get correctly refreshed) // TODO: assert that the staging panel has been refreshed (it currently does not get correctly refreshed)
}, },

View File

@ -20,14 +20,14 @@ var Unstaged = NewIntegrationTest(NewIntegrationTestArgs{
Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) { Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) {
assert.CommitCount(0) assert.CommitCount(0)
assert.CurrentView().Name("files").SelectedLine(Contains("myfile")) assert.Views().Current().Name("files").SelectedLine(Contains("myfile"))
input.Enter() input.Enter()
assert.CurrentView().Name("staging") assert.Views().Current().Name("staging")
assert.View("stagingSecondary").Content(DoesNotContain("+myfile content")) assert.Views().ByName("stagingSecondary").Content(DoesNotContain("+myfile content"))
// stage the first line // stage the first line
input.PrimaryAction() input.PrimaryAction()
assert.View("staging").Content(DoesNotContain("+myfile content")) assert.Views().ByName("staging").Content(DoesNotContain("+myfile content"))
assert.View("stagingSecondary").Content(Contains("+myfile content")) assert.Views().ByName("stagingSecondary").Content(Contains("+myfile content"))
input.Press(keys.Files.CommitChanges) input.Press(keys.Files.CommitChanges)

View File

@ -31,7 +31,7 @@ var Basic = NewIntegrationTest(NewIntegrationTestArgs{
input.Press("a") input.Press("a")
assert.View("files").Lines( assert.Views().ByName("files").Lines(
Contains("myfile"), Contains("myfile"),
) )
}, },

View File

@ -75,7 +75,7 @@ var FormPrompts = NewIntegrationTest(NewIntegrationTestArgs{
Confirm() Confirm()
assert.WorkingTreeFileCount(1) assert.WorkingTreeFileCount(1)
assert.CurrentView().SelectedLine(Contains("my file")) assert.Views().Current().SelectedLine(Contains("my file"))
assert.MainView().Content(Contains(`"BAR"`)) assert.Views().Main().Content(Contains(`"BAR"`))
}, },
}) })

View File

@ -60,7 +60,7 @@ var MenuFromCommand = NewIntegrationTest(NewIntegrationTestArgs{
input.SwitchToFilesView() input.SwitchToFilesView()
assert.WorkingTreeFileCount(1) assert.WorkingTreeFileCount(1)
assert.CurrentView().SelectedLine(Contains("output.txt")) assert.Views().Current().SelectedLine(Contains("output.txt"))
assert.MainView().Content(Contains("bar Branch: #feature/foo my branch feature/foo")) assert.Views().Main().Content(Contains("bar Branch: #feature/foo my branch feature/foo"))
}, },
}) })

View File

@ -55,7 +55,7 @@ var MenuFromCommandsOutput = NewIntegrationTest(NewIntegrationTestArgs{
input.Press("a") input.Press("a")
assert.InPrompt() assert.InPrompt()
assert.CurrentView(). assert.Views().Current().
Title(Equals("Which git command do you want to run?")). Title(Equals("Which git command do you want to run?")).
SelectedLine(Equals("branch")) SelectedLine(Equals("branch"))
input.Confirm() input.Confirm()

View File

@ -73,7 +73,7 @@ var MultiplePrompts = NewIntegrationTest(NewIntegrationTestArgs{
Confirm() Confirm()
assert.WorkingTreeFileCount(1) assert.WorkingTreeFileCount(1)
assert.CurrentView().SelectedLine(Contains("myfile")) assert.Views().Current().SelectedLine(Contains("myfile"))
assert.MainView().Content(Contains("BAR")) assert.Views().Main().Content(Contains("BAR"))
}, },
}) })

View File

@ -24,35 +24,35 @@ var Diff = NewIntegrationTest(NewIntegrationTestArgs{
Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) { Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) {
input.SwitchToBranchesView() input.SwitchToBranchesView()
assert.CurrentView().TopLines( assert.Views().Current().TopLines(
Contains("branch-a"), Contains("branch-a"),
Contains("branch-b"), Contains("branch-b"),
) )
input.Press(keys.Universal.DiffingMenu) input.Press(keys.Universal.DiffingMenu)
input.Menu().Title(Equals("Diffing")).Select(Contains(`diff branch-a`)).Confirm() input.Menu().Title(Equals("Diffing")).Select(Contains(`diff branch-a`)).Confirm()
assert.CurrentView().Name("localBranches") assert.Views().Current().Name("localBranches")
assert.View("information").Content(Contains("showing output for: git diff branch-a branch-a")) assert.Views().ByName("information").Content(Contains("showing output for: git diff branch-a branch-a"))
input.NextItem() input.NextItem()
assert.View("information").Content(Contains("showing output for: git diff branch-a branch-b")) assert.Views().ByName("information").Content(Contains("showing output for: git diff branch-a branch-b"))
assert.MainView().Content(Contains("+second line")) assert.Views().Main().Content(Contains("+second line"))
input.Enter() input.Enter()
assert.CurrentView().Name("subCommits") assert.Views().Current().Name("subCommits")
assert.MainView().Content(Contains("+second line")) assert.Views().Main().Content(Contains("+second line"))
assert.CurrentView().SelectedLine(Contains("update")) assert.Views().Current().SelectedLine(Contains("update"))
input.Enter() input.Enter()
assert.CurrentView().Name("commitFiles").SelectedLine(Contains("file1")) assert.Views().Current().Name("commitFiles").SelectedLine(Contains("file1"))
assert.MainView().Content(Contains("+second line")) assert.Views().Main().Content(Contains("+second line"))
input.Press(keys.Universal.Return) input.Press(keys.Universal.Return)
input.Press(keys.Universal.Return) input.Press(keys.Universal.Return)
assert.CurrentView().Name("localBranches") assert.Views().Current().Name("localBranches")
input.Press(keys.Universal.DiffingMenu) input.Press(keys.Universal.DiffingMenu)
input.Menu().Title(Equals("Diffing")).Select(Contains("reverse diff direction")).Confirm() input.Menu().Title(Equals("Diffing")).Select(Contains("reverse diff direction")).Confirm()
assert.View("information").Content(Contains("showing output for: git diff branch-a branch-b -R")) assert.Views().ByName("information").Content(Contains("showing output for: git diff branch-a branch-b -R"))
assert.MainView().Content(Contains("-second line")) assert.Views().Main().Content(Contains("-second line"))
}, },
}) })

View File

@ -23,7 +23,7 @@ var DiffAndApplyPatch = NewIntegrationTest(NewIntegrationTestArgs{
}, },
Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) { Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) {
input.SwitchToBranchesView() input.SwitchToBranchesView()
assert.CurrentView().Lines( assert.Views().Current().Lines(
Contains("branch-a"), Contains("branch-a"),
Contains("branch-b"), Contains("branch-b"),
) )
@ -32,21 +32,21 @@ var DiffAndApplyPatch = NewIntegrationTest(NewIntegrationTestArgs{
input.Menu().Title(Equals("Diffing")).Select(Equals("diff branch-a")).Confirm() input.Menu().Title(Equals("Diffing")).Select(Equals("diff branch-a")).Confirm()
assert.CurrentView().Name("localBranches") assert.Views().Current().Name("localBranches")
assert.View("information").Content(Contains("showing output for: git diff branch-a branch-a")) assert.Views().ByName("information").Content(Contains("showing output for: git diff branch-a branch-a"))
input.NextItem() input.NextItem()
assert.View("information").Content(Contains("showing output for: git diff branch-a branch-b")) assert.Views().ByName("information").Content(Contains("showing output for: git diff branch-a branch-b"))
assert.MainView().Content(Contains("+second line")) assert.Views().Main().Content(Contains("+second line"))
input.Enter() input.Enter()
assert.CurrentView().Name("subCommits") assert.Views().Current().Name("subCommits")
assert.MainView().Content(Contains("+second line")) assert.Views().Main().Content(Contains("+second line"))
assert.CurrentView().SelectedLine(Contains("update")) assert.Views().Current().SelectedLine(Contains("update"))
input.Enter() input.Enter()
assert.CurrentView().Name("commitFiles") assert.Views().Current().Name("commitFiles")
assert.CurrentView().SelectedLine(Contains("file1")) assert.Views().Current().SelectedLine(Contains("file1"))
assert.MainView().Content(Contains("+second line")) assert.Views().Main().Content(Contains("+second line"))
// add the file to the patch // add the file to the patch
input.PrimaryAction() input.PrimaryAction()
@ -54,7 +54,7 @@ var DiffAndApplyPatch = NewIntegrationTest(NewIntegrationTestArgs{
input.Press(keys.Universal.DiffingMenu) input.Press(keys.Universal.DiffingMenu)
input.Menu().Title(Equals("Diffing")).Select(Contains("exit diff mode")).Confirm() input.Menu().Title(Equals("Diffing")).Select(Contains("exit diff mode")).Confirm()
assert.View("information").Content(DoesNotContain("building patch")) assert.Views().ByName("information").Content(DoesNotContain("building patch"))
input.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 // adding the regex '$' here to distinguish the menu item from the 'apply patch in reverse' item
@ -62,7 +62,7 @@ var DiffAndApplyPatch = NewIntegrationTest(NewIntegrationTestArgs{
input.SwitchToFilesView() input.SwitchToFilesView()
assert.CurrentView().SelectedLine(Contains("file1")) assert.Views().Current().SelectedLine(Contains("file1"))
assert.MainView().Content(Contains("+second line")) assert.Views().Main().Content(Contains("+second line"))
}, },
}) })

View File

@ -21,7 +21,7 @@ var DiffCommits = NewIntegrationTest(NewIntegrationTestArgs{
Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) { Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) {
input.SwitchToCommitsView() input.SwitchToCommitsView()
assert.CurrentView().Lines( assert.Views().Current().Lines(
Contains("third commit"), Contains("third commit"),
Contains("second commit"), Contains("second commit"),
Contains("first commit"), Contains("first commit"),
@ -32,23 +32,23 @@ var DiffCommits = NewIntegrationTest(NewIntegrationTestArgs{
assert.NotInPopup() assert.NotInPopup()
assert.View("information").Content(Contains("showing output for: git diff")) assert.Views().ByName("information").Content(Contains("showing output for: git diff"))
input.NextItem() input.NextItem()
input.NextItem() input.NextItem()
assert.CurrentView().SelectedLine(Contains("first commit")) assert.Views().Current().SelectedLine(Contains("first commit"))
assert.MainView().Content(Contains("-second line\n-third line")) assert.Views().Main().Content(Contains("-second line\n-third line"))
input.Press(keys.Universal.DiffingMenu) input.Press(keys.Universal.DiffingMenu)
input.Menu().Title(Equals("Diffing")).Select(Contains("reverse diff direction")).Confirm() input.Menu().Title(Equals("Diffing")).Select(Contains("reverse diff direction")).Confirm()
assert.NotInPopup() assert.NotInPopup()
assert.MainView().Content(Contains("+second line\n+third line")) assert.Views().Main().Content(Contains("+second line\n+third line"))
input.Enter() input.Enter()
assert.CurrentView().Name("commitFiles").SelectedLine(Contains("file1")) assert.Views().Current().Name("commitFiles").SelectedLine(Contains("file1"))
assert.MainView().Content(Contains("+second line\n+third line")) assert.Views().Main().Content(Contains("+second line\n+third line"))
}, },
}) })

View File

@ -24,7 +24,7 @@ var DirWithUntrackedFile = NewIntegrationTest(NewIntegrationTestArgs{
Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) { Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) {
assert.CommitCount(1) assert.CommitCount(1)
assert.MainView(). assert.Views().Main().
Content(DoesNotContain("error: Could not access")). Content(DoesNotContain("error: Could not access")).
// we show baz because it's a modified file but we don't show bar because it's untracked // we show baz because it's a modified file but we don't show bar because it's untracked
// (though it would be cool if we could show that too) // (though it would be cool if we could show that too)

View File

@ -82,7 +82,7 @@ var DiscardChanges = NewIntegrationTest(NewIntegrationTestArgs{
discardOneByOne := func(files []statusFile) { discardOneByOne := func(files []statusFile) {
for _, file := range files { for _, file := range files {
assert.CurrentView().SelectedLine(Contains(file.status + " " + file.label)) assert.Views().Current().SelectedLine(Contains(file.status + " " + file.label))
input.Press(keys.Universal.Remove) input.Press(keys.Universal.Remove)
input.Menu().Title(Equals(file.menuTitle)).Select(Contains("discard all changes")).Confirm() input.Menu().Title(Equals(file.menuTitle)).Select(Contains("discard all changes")).Confirm()
} }

View File

@ -46,7 +46,7 @@ var AmendMerge = NewIntegrationTest(NewIntegrationTestArgs{
assert.HeadCommitMessage(Contains(mergeCommitMessage)) assert.HeadCommitMessage(Contains(mergeCommitMessage))
// assuring the post-merge file shows up in the merge commit. // assuring the post-merge file shows up in the merge commit.
assert.MainView(). assert.Views().Main().
Content(Contains(postMergeFilename)). Content(Contains(postMergeFilename)).
Content(Contains("++" + postMergeFileContent)) Content(Contains("++" + postMergeFileContent))
}, },

View File

@ -16,7 +16,7 @@ var One = NewIntegrationTest(NewIntegrationTestArgs{
}, },
Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) { Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) {
input.SwitchToCommitsView() input.SwitchToCommitsView()
assert.CurrentView().Lines( assert.Views().Current().Lines(
Contains("commit 05"), Contains("commit 05"),
Contains("commit 04"), Contains("commit 04"),
Contains("commit 03"), Contains("commit 03"),
@ -27,7 +27,7 @@ var One = NewIntegrationTest(NewIntegrationTestArgs{
input.NavigateToListItem(Contains("commit 02")) input.NavigateToListItem(Contains("commit 02"))
input.Press(keys.Universal.Edit) input.Press(keys.Universal.Edit)
assert.CurrentView().Lines( assert.Views().Current().Lines(
MatchesRegexp("pick.*commit 05"), MatchesRegexp("pick.*commit 05"),
MatchesRegexp("pick.*commit 04"), MatchesRegexp("pick.*commit 04"),
MatchesRegexp("pick.*commit 03"), MatchesRegexp("pick.*commit 03"),
@ -37,7 +37,7 @@ var One = NewIntegrationTest(NewIntegrationTestArgs{
input.PreviousItem() input.PreviousItem()
input.Press(keys.Commits.MarkCommitAsFixup) input.Press(keys.Commits.MarkCommitAsFixup)
assert.CurrentView().Lines( assert.Views().Current().Lines(
MatchesRegexp("pick.*commit 05"), MatchesRegexp("pick.*commit 05"),
MatchesRegexp("pick.*commit 04"), MatchesRegexp("pick.*commit 04"),
MatchesRegexp("fixup.*commit 03"), MatchesRegexp("fixup.*commit 03"),
@ -47,7 +47,7 @@ var One = NewIntegrationTest(NewIntegrationTestArgs{
input.PreviousItem() input.PreviousItem()
input.Press(keys.Universal.Remove) input.Press(keys.Universal.Remove)
assert.CurrentView().Lines( assert.Views().Current().Lines(
MatchesRegexp("pick.*commit 05"), MatchesRegexp("pick.*commit 05"),
MatchesRegexp("drop.*commit 04"), MatchesRegexp("drop.*commit 04"),
MatchesRegexp("fixup.*commit 03"), MatchesRegexp("fixup.*commit 03"),
@ -58,7 +58,7 @@ var One = NewIntegrationTest(NewIntegrationTestArgs{
input.PreviousItem() input.PreviousItem()
input.Press(keys.Commits.SquashDown) input.Press(keys.Commits.SquashDown)
assert.CurrentView().Lines( assert.Views().Current().Lines(
MatchesRegexp("squash.*commit 05"), MatchesRegexp("squash.*commit 05"),
MatchesRegexp("drop.*commit 04"), MatchesRegexp("drop.*commit 04"),
MatchesRegexp("fixup.*commit 03"), MatchesRegexp("fixup.*commit 03"),
@ -68,7 +68,7 @@ var One = NewIntegrationTest(NewIntegrationTestArgs{
input.ContinueRebase() input.ContinueRebase()
assert.CurrentView().Lines( assert.Views().Current().Lines(
Contains("commit 02"), Contains("commit 02"),
Contains("commit 01"), Contains("commit 01"),
) )

View File

@ -21,7 +21,7 @@ var Rename = NewIntegrationTest(NewIntegrationTestArgs{
Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) { Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) {
input.SwitchToStashView() input.SwitchToStashView()
assert.CurrentView().Lines( assert.Views().Current().Lines(
Equals("On master: bar"), Equals("On master: bar"),
Equals("On master: foo"), Equals("On master: foo"),
) )
@ -30,6 +30,6 @@ var Rename = NewIntegrationTest(NewIntegrationTestArgs{
input.Prompt().Title(Equals("Rename stash: stash@{1}")).Type(" baz").Confirm() input.Prompt().Title(Equals("Rename stash: stash@{1}")).Type(" baz").Confirm()
assert.CurrentView().SelectedLine(Equals("On master: foo baz")) assert.Views().Current().SelectedLine(Equals("On master: foo baz"))
}, },
}) })