package file import ( "github.com/jesseduffield/lazygit/pkg/config" . "github.com/jesseduffield/lazygit/pkg/integration/components" ) var DiscardVariousChangesRangeSelect = NewIntegrationTest(NewIntegrationTestArgs{ Description: "Discarding all possible permutations of changed files via range select", ExtraCmdArgs: []string{}, Skip: false, SetupConfig: func(config *config.AppConfig) { }, SetupRepo: func(shell *Shell) { createAllPossiblePermutationsOfChangedFiles(shell) }, Run: func(t *TestDriver, keys config.KeybindingConfig) { t.Views().Files(). IsFocused(). Lines( Equals("▼ /").IsSelected(), Equals(" UA added-them-changed-us.txt"), Equals(" AA both-added.txt"), Equals(" DD both-deleted.txt"), Equals(" UU both-modded.txt"), Equals(" AU changed-them-added-us.txt"), Equals(" UD deleted-them.txt"), Equals(" DU deleted-us.txt"), ). SelectNextItem(). Press(keys.Universal.ToggleRangeSelect). NavigateToLine(Contains("deleted-us.txt")). Press(keys.Universal.Remove). Tap(func() { t.ExpectPopup().Menu(). Title(Equals("Discard changes")). Select(Contains("Discard all changes")). Confirm() t.ExpectPopup().Confirmation(). Title(Equals("Continue")). Content(Contains("All merge conflicts resolved. Continue?")). Cancel() }). Lines( Equals("▼ /").IsSelected(), Equals(" AM added-changed.txt"), Equals(" MD change-delete.txt"), Equals(" D delete-change.txt"), Equals(" D deleted-staged.txt"), Equals(" D deleted.txt"), Equals(" MM double-modded.txt"), Equals(" M modded-staged.txt"), Equals(" M modded.txt"), Equals(" A new-staged.txt"), Equals(" ?? new.txt"), Equals(" R renamed.txt → renamed2.txt"), ). Press(keys.Universal.ToggleRangeSelect). NavigateToLine(Contains("renamed.txt")). Press(keys.Universal.Remove). Tap(func() { t.ExpectPopup().Menu(). Title(Equals("Discard changes")). Select(Contains("Discard all changes")). Confirm() }) t.Views().Files().IsEmpty() }, })