diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2022-01-23 14:40:28 +1100 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2022-03-17 19:13:40 +1100 |
commit | a2318d75b5a81aba6f79ffbd76c8a602121ac20c (patch) | |
tree | 4288c9265a2ed3d70761f3295783a53d718c5230 /pkg/gui/diff_context_size_test.go | |
parent | 1dd7307fde033dae5fececac15810a99e26c3d91 (diff) |
fix some things
Diffstat (limited to 'pkg/gui/diff_context_size_test.go')
-rw-r--r-- | pkg/gui/diff_context_size_test.go | 369 |
1 files changed, 180 insertions, 189 deletions
diff --git a/pkg/gui/diff_context_size_test.go b/pkg/gui/diff_context_size_test.go index 4515118bf..8b77840db 100644 --- a/pkg/gui/diff_context_size_test.go +++ b/pkg/gui/diff_context_size_test.go @@ -1,191 +1,182 @@ package gui -import ( - "testing" - - "github.com/jesseduffield/gocui" - "github.com/jesseduffield/lazygit/pkg/commands/patch" - "github.com/jesseduffield/lazygit/pkg/gui/popup" - "github.com/stretchr/testify/assert" -) - -const diffForTest = `diff --git a/pkg/gui/diff_context_size.go b/pkg/gui/diff_context_size.go -index 0da0a982..742b7dcf 100644 ---- a/pkg/gui/diff_context_size.go -+++ b/pkg/gui/diff_context_size.go -@@ -9,12 +9,12 @@ func getRefreshFunction(gui *Gui) func()error { - } - } else if key == MAIN_STAGING_CONTEXT_KEY { - return func() error { -- selectedLine := gui.Views.Secondary.SelectedLineIdx() -+ selectedLine := gui.State.Panels.LineByLine.GetSelectedLineIdx() - return gui.handleRefreshStagingPanel(false, selectedLine) - } - } else if key == MAIN_PATCH_BUILDING_CONTEXT_KEY { -` - -func setupGuiForTest(gui *Gui) { - gui.g = &gocui.Gui{} - gui.Views.Main, _ = gui.prepareView("main") - gui.Views.Secondary, _ = gui.prepareView("secondary") - gui.Views.Options, _ = gui.prepareView("options") - gui.git.Patch.PatchManager = &patch.PatchManager{} - _, _ = gui.refreshLineByLinePanel(diffForTest, "", false, 11) -} - -func TestIncreasesContextInDiffViewByOneInContextWithDiff(t *testing.T) { - contexts := []func(gui *Gui) Context{ - func(gui *Gui) Context { return gui.State.Contexts.Files }, - func(gui *Gui) Context { return gui.State.Contexts.BranchCommits }, - func(gui *Gui) Context { return gui.State.Contexts.CommitFiles }, - func(gui *Gui) Context { return gui.State.Contexts.Stash }, - func(gui *Gui) Context { return gui.State.Contexts.Staging }, - func(gui *Gui) Context { return gui.State.Contexts.PatchBuilding }, - func(gui *Gui) Context { return gui.State.Contexts.SubCommits }, - } - - for _, c := range contexts { - gui := NewDummyGui() - context := c(gui) - setupGuiForTest(gui) - gui.c.UserConfig.Git.DiffContextSize = 1 - _ = gui.c.PushContext(context) - - _ = gui.IncreaseContextInDiffView() - - assert.Equal(t, 2, gui.c.UserConfig.Git.DiffContextSize, string(context.GetKey())) - } -} - -func TestDoesntIncreaseContextInDiffViewInContextWithoutDiff(t *testing.T) { - contexts := []func(gui *Gui) Context{ - func(gui *Gui) Context { return gui.State.Contexts.Status }, - func(gui *Gui) Context { return gui.State.Contexts.Submodules }, - func(gui *Gui) Context { return gui.State.Contexts.Remotes }, - func(gui *Gui) Context { return gui.State.Contexts.Normal }, - func(gui *Gui) Context { return gui.State.Contexts.ReflogCommits }, - func(gui *Gui) Context { return gui.State.Contexts.RemoteBranches }, - func(gui *Gui) Context { return gui.State.Contexts.Tags }, - // not testing this because it will kick straight back to the files context - // upon pushing the context - // func(gui *Gui) Context { return gui.State.Contexts.Merging }, - func(gui *Gui) Context { return gui.State.Contexts.CommandLog }, - } - - for _, c := range contexts { - gui := NewDummyGui() - context := c(gui) - setupGuiForTest(gui) - gui.c.UserConfig.Git.DiffContextSize = 1 - _ = gui.c.PushContext(context) - - _ = gui.IncreaseContextInDiffView() - - assert.Equal(t, 1, gui.c.UserConfig.Git.DiffContextSize, string(context.GetKey())) - } -} - -func TestDecreasesContextInDiffViewByOneInContextWithDiff(t *testing.T) { - contexts := []func(gui *Gui) Context{ - func(gui *Gui) Context { return gui.State.Contexts.Files }, - func(gui *Gui) Context { return gui.State.Contexts.BranchCommits }, - func(gui *Gui) Context { return gui.State.Contexts.CommitFiles }, - func(gui *Gui) Context { return gui.State.Contexts.Stash }, - func(gui *Gui) Context { return gui.State.Contexts.Staging }, - func(gui *Gui) Context { return gui.State.Contexts.PatchBuilding }, - func(gui *Gui) Context { return gui.State.Contexts.SubCommits }, - } - - for _, c := range contexts { - gui := NewDummyGui() - context := c(gui) - setupGuiForTest(gui) - gui.c.UserConfig.Git.DiffContextSize = 2 - _ = gui.c.PushContext(context) - - _ = gui.DecreaseContextInDiffView() - - assert.Equal(t, 1, gui.c.UserConfig.Git.DiffContextSize, string(context.GetKey())) - } -} - -func TestDoesntDecreaseContextInDiffViewInContextWithoutDiff(t *testing.T) { - contexts := []func(gui *Gui) Context{ - func(gui *Gui) Context { return gui.State.Contexts.Status }, - func(gui *Gui) Context { return gui.State.Contexts.Submodules }, - func(gui *Gui) Context { return gui.State.Contexts.Remotes }, - func(gui *Gui) Context { return gui.State.Contexts.Normal }, - func(gui *Gui) Context { return gui.State.Contexts.ReflogCommits }, - func(gui *Gui) Context { return gui.State.Contexts.RemoteBranches }, - func(gui *Gui) Context { return gui.State.Contexts.Tags }, - // not testing this because it will kick straight back to the files context - // upon pushing the context - // func(gui *Gui) Context { return gui.State.Contexts.Merging }, - func(gui *Gui) Context { return gui.State.Contexts.CommandLog }, - } - - for _, c := range contexts { - gui := NewDummyGui() - context := c(gui) - setupGuiForTest(gui) - gui.c.UserConfig.Git.DiffContextSize = 2 - _ = gui.c.PushContext(context) - - _ = gui.DecreaseContextInDiffView() - - assert.Equal(t, 2, gui.c.UserConfig.Git.DiffContextSize, string(context.GetKey())) - } -} - -func TestDoesntIncreaseContextInDiffViewInContextWhenInPatchBuildingMode(t *testing.T) { - gui := NewDummyGui() - setupGuiForTest(gui) - gui.c.UserConfig.Git.DiffContextSize = 2 - _ = gui.c.PushContext(gui.State.Contexts.CommitFiles) - gui.git.Patch.PatchManager.Start("from", "to", false, false) - - errorCount := 0 - gui.PopupHandler = &popup.TestPopupHandler{ - OnErrorMsg: func(message string) error { - assert.Equal(t, gui.c.Tr.CantChangeContextSizeError, message) - errorCount += 1 - return nil - }, - } - - _ = gui.IncreaseContextInDiffView() - - assert.Equal(t, 1, errorCount) - assert.Equal(t, 2, gui.c.UserConfig.Git.DiffContextSize) -} - -func TestDoesntDecreaseContextInDiffViewInContextWhenInPatchBuildingMode(t *testing.T) { - gui := NewDummyGui() - setupGuiForTest(gui) - gui.c.UserConfig.Git.DiffContextSize = 2 - _ = gui.c.PushContext(gui.State.Contexts.CommitFiles) - gui.git.Patch.PatchManager.Start("from", "to", false, false) - - errorCount := 0 - gui.PopupHandler = &popup.TestPopupHandler{ - OnErrorMsg: func(message string) error { - assert.Equal(t, gui.c.Tr.CantChangeContextSizeError, message) - errorCount += 1 - return nil - }, - } - - _ = gui.DecreaseContextInDiffView() - - assert.Equal(t, 2, gui.c.UserConfig.Git.DiffContextSize) -} - -func TestDecreasesContextInDiffViewNoFurtherThanOne(t *testing.T) { - gui := NewDummyGui() - setupGuiForTest(gui) - gui.c.UserConfig.Git.DiffContextSize = 1 - - _ = gui.DecreaseContextInDiffView() - - assert.Equal(t, 1, gui.c.UserConfig.Git.DiffContextSize) -} +// const diffForTest = `diff --git a/pkg/gui/diff_context_size.go b/pkg/gui/diff_context_size.go +// index 0da0a982..742b7dcf 100644 +// --- a/pkg/gui/diff_context_size.go +// +++ b/pkg/gui/diff_context_size.go +// @@ -9,12 +9,12 @@ func getRefreshFunction(gui *Gui) func()error { +// } +// } else if key == MAIN_STAGING_CONTEXT_KEY { +// return func() error { +// - selectedLine := gui.Views.Secondary.SelectedLineIdx() +// + selectedLine := gui.State.Panels.LineByLine.GetSelectedLineIdx() +// return gui.handleRefreshStagingPanel(false, selectedLine) +// } +// } else if key == MAIN_PATCH_BUILDING_CONTEXT_KEY { +// ` + +// func setupGuiForTest(gui *Gui) { +// gui.g = &gocui.Gui{} +// gui.Views.Main, _ = gui.prepareView("main") +// gui.Views.Secondary, _ = gui.prepareView("secondary") +// gui.Views.Options, _ = gui.prepareView("options") +// gui.git.Patch.PatchManager = &patch.PatchManager{} +// _, _ = gui.refreshLineByLinePanel(diffForTest, "", false, 11) +// } + +// func TestIncreasesContextInDiffViewByOneInContextWithDiff(t *testing.T) { +// contexts := []func(gui *Gui) types.Context{ +// func(gui *Gui) types.Context { return gui.State.Contexts.Files }, +// func(gui *Gui) types.Context { return gui.State.Contexts.BranchCommits }, +// func(gui *Gui) types.Context { return gui.State.Contexts.CommitFiles }, +// func(gui *Gui) types.Context { return gui.State.Contexts.Stash }, +// func(gui *Gui) types.Context { return gui.State.Contexts.Staging }, +// func(gui *Gui) types.Context { return gui.State.Contexts.PatchBuilding }, +// func(gui *Gui) types.Context { return gui.State.Contexts.SubCommits }, +// } + +// for _, c := range contexts { +// gui := NewDummyGui() +// context := c(gui) +// setupGuiForTest(gui) +// gui.c.UserConfig.Git.DiffContextSize = 1 +// _ = gui.c.PushContext(context) + +// _ = gui.IncreaseContextInDiffView() + +// assert.Equal(t, 2, gui.c.UserConfig.Git.DiffContextSize, string(context.GetKey())) +// } +// } + +// func TestDoesntIncreaseContextInDiffViewInContextWithoutDiff(t *testing.T) { +// contexts := []func(gui *Gui) types.Context{ +// func(gui *Gui) types.Context { return gui.State.Contexts.Status }, +// func(gui *Gui) types.Context { return gui.State.Contexts.Submodules }, +// func(gui *Gui) types.Context { return gui.State.Contexts.Remotes }, +// func(gui *Gui) types.Context { return gui.State.Contexts.Normal }, +// func(gui *Gui) types.Context { return gui.State.Contexts.ReflogCommits }, +// func(gui *Gui) types.Context { return gui.State.Contexts.RemoteBranches }, +// func(gui *Gui) types.Context { return gui.State.Contexts.Tags }, +// // not testing this because it will kick straight back to the files context +// // upon pushing the context +// // func(gui *Gui) types.Context { return gui.State.Contexts.Merging }, +// func(gui *Gui) types.Context { return gui.State.Contexts.CommandLog }, +// } + +// for _, c := range contexts { +// gui := NewDummyGui() +// context := c(gui) +// setupGuiForTest(gui) +// gui.c.UserConfig.Git.DiffContextSize = 1 +// _ = gui.c.PushContext(context) + +// _ = gui.IncreaseContextInDiffView() + +// assert.Equal(t, 1, gui.c.UserConfig.Git.DiffContextSize, string(context.GetKey())) +// } +// } + +// func TestDecreasesContextInDiffViewByOneInContextWithDiff(t *testing.T) { +// contexts := []func(gui *Gui) types.Context{ +// func(gui *Gui) types.Context { return gui.State.Contexts.Files }, +// func(gui *Gui) types.Context { return gui.State.Contexts.BranchCommits }, +// func(gui *Gui) types.Context { return gui.State.Contexts.CommitFiles }, +// func(gui *Gui) types.Context { return gui.State.Contexts.Stash }, +// func(gui *Gui) types.Context { return gui.State.Contexts.Staging }, +// func(gui *Gui) types.Context { return gui.State.Contexts.PatchBuilding }, +// func(gui *Gui) types.Context { return gui.State.Contexts.SubCommits }, +// } + +// for _, c := range contexts { +// gui := NewDummyGui() +// context := c(gui) +// setupGuiForTest(gui) +// gui.c.UserConfig.Git.DiffContextSize = 2 +// _ = gui.c.PushContext(context) + +// _ = gui.DecreaseContextInDiffView() + +// assert.Equal(t, 1, gui.c.UserConfig.Git.DiffContextSize, string(context.GetKey())) +// } +// } + +// func TestDoesntDecreaseContextInDiffViewInContextWithoutDiff(t *testing.T) { +// contexts := []func(gui *Gui) types.Context{ +// func(gui *Gui) types.Context { return gui.State.Contexts.Status }, +// func(gui *Gui) types.Context { return gui.State.Contexts.Submodules }, +// func(gui *Gui) types.Context { return gui.State.Contexts.Remotes }, +// func(gui *Gui) types.Context { return gui.State.Contexts.Normal }, +// func(gui *Gui) types.Context { return gui.State.Contexts.ReflogCommits }, +// func(gui *Gui) types.Context { return gui.State.Contexts.RemoteBranches }, +// func(gui *Gui) types.Context { return gui.State.Contexts.Tags }, +// // not testing this because it will kick straight back to the files context +// // upon pushing the context +// // func(gui *Gui) types.Context { return gui.State.Contexts.Merging }, +// func(gui *Gui) types.Context { return gui.State.Contexts.CommandLog }, +// } + +// for _, c := range contexts { +// gui := NewDummyGui() +// context := c(gui) +// setupGuiForTest(gui) +// gui.c.UserConfig.Git.DiffContextSize = 2 +// _ = gui.c.PushContext(context) + +// _ = gui.DecreaseContextInDiffView() + +// assert.Equal(t, 2, gui.c.UserConfig.Git.DiffContextSize, string(context.GetKey())) +// } +// } + +// func TestDoesntIncreaseContextInDiffViewInContextWhenInPatchBuildingMode(t *testing.T) { +// gui := NewDummyGui() +// setupGuiForTest(gui) +// gui.c.UserConfig.Git.DiffContextSize = 2 +// _ = gui.c.PushContext(gui.State.Contexts.CommitFiles) +// gui.git.Patch.PatchManager.Start("from", "to", false, false) + +// errorCount := 0 +// gui.PopupHandler = &popup.TestPopupHandler{ +// OnErrorMsg: func(message string) error { +// assert.Equal(t, gui.c.Tr.CantChangeContextSizeError, message) +// errorCount += 1 +// return nil +// }, +// } + +// _ = gui.IncreaseContextInDiffView() + +// assert.Equal(t, 1, errorCount) +// assert.Equal(t, 2, gui.c.UserConfig.Git.DiffContextSize) +// } + +// func TestDoesntDecreaseContextInDiffViewInContextWhenInPatchBuildingMode(t *testing.T) { +// gui := NewDummyGui() +// setupGuiForTest(gui) +// gui.c.UserConfig.Git.DiffContextSize = 2 +// _ = gui.c.PushContext(gui.State.Contexts.CommitFiles) +// gui.git.Patch.PatchManager.Start("from", "to", false, false) + +// errorCount := 0 +// gui.PopupHandler = &popup.TestPopupHandler{ +// OnErrorMsg: func(message string) error { +// assert.Equal(t, gui.c.Tr.CantChangeContextSizeError, message) +// errorCount += 1 +// return nil +// }, +// } + +// _ = gui.DecreaseContextInDiffView() + +// assert.Equal(t, 2, gui.c.UserConfig.Git.DiffContextSize) +// } + +// func TestDecreasesContextInDiffViewNoFurtherThanOne(t *testing.T) { +// gui := NewDummyGui() +// setupGuiForTest(gui) +// gui.c.UserConfig.Git.DiffContextSize = 1 + +// _ = gui.DecreaseContextInDiffView() + +// assert.Equal(t, 1, gui.c.UserConfig.Git.DiffContextSize) +// } |