diff --git a/pkg/integration/tests/diff/diff_non_sticky_range.go b/pkg/integration/tests/diff/diff_non_sticky_range.go new file mode 100644 index 000000000..672f744a9 --- /dev/null +++ b/pkg/integration/tests/diff/diff_non_sticky_range.go @@ -0,0 +1,45 @@ +package diff + +import ( + "github.com/jesseduffield/lazygit/pkg/config" + . "github.com/jesseduffield/lazygit/pkg/integration/components" +) + +var DiffNonStickyRange = NewIntegrationTest(NewIntegrationTestArgs{ + Description: "View the combined diff of multiple commits using a range selection", + ExtraCmdArgs: []string{}, + Skip: false, + SetupConfig: func(config *config.AppConfig) {}, + SetupRepo: func(shell *Shell) { + shell.EmptyCommit("initial commit") + shell.CreateFileAndAdd("file1", "first line\n") + shell.Commit("first commit") + shell.UpdateFileAndAdd("file1", "first line\nsecond line\n") + shell.Commit("second commit") + shell.UpdateFileAndAdd("file1", "first line\nsecond line\nthird line\n") + shell.Commit("third commit") + }, + Run: func(t *TestDriver, keys config.KeybindingConfig) { + t.Views().Commits(). + Focus(). + Lines( + Contains("third commit").IsSelected(), + Contains("second commit"), + Contains("first commit"), + Contains("initial commit"), + ). + Press(keys.Universal.RangeSelectDown). + Press(keys.Universal.RangeSelectDown). + Tap(func() { + t.Views().Main().Content(Contains("Showing diff for range "). + Contains("+first line\n+second line\n+third line")) + }). + PressEnter() + + t.Views().CommitFiles(). + IsFocused(). + SelectedLine(Contains("file1")) + + t.Views().Main().Content(Contains("+first line\n+second line\n+third line")) + }, +}) diff --git a/pkg/integration/tests/test_list.go b/pkg/integration/tests/test_list.go index de074232f..584d7a07d 100644 --- a/pkg/integration/tests/test_list.go +++ b/pkg/integration/tests/test_list.go @@ -148,6 +148,7 @@ var tests = []*components.IntegrationTest{ diff.Diff, diff.DiffAndApplyPatch, diff.DiffCommits, + diff.DiffNonStickyRange, diff.IgnoreWhitespace, diff.RenameSimilarityThresholdChange, file.CopyMenu,