1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-07-30 03:23:08 +03:00

Don't stage already staged deleted items

This commit is contained in:
Brandon
2024-06-01 16:02:20 -07:00
committed by Jesse Duffield
parent 5fb98655b3
commit 387bdb1b84
3 changed files with 64 additions and 5 deletions

View File

@ -0,0 +1,50 @@
package file
import (
"github.com/jesseduffield/lazygit/pkg/config"
. "github.com/jesseduffield/lazygit/pkg/integration/components"
)
var StageDeletedRangeSelect = NewIntegrationTest(NewIntegrationTestArgs{
Description: "Stage a range of deleted files using range select",
ExtraCmdArgs: []string{},
Skip: false,
SetupConfig: func(config *config.AppConfig) {
},
SetupRepo: func(shell *Shell) {
shell.CreateFileAndAdd("file-a", "")
shell.CreateFileAndAdd("file-b", "")
shell.Commit("first commit")
shell.DeleteFile("file-a")
shell.DeleteFile("file-b")
},
Run: func(t *TestDriver, keys config.KeybindingConfig) {
t.Views().Files().
IsFocused().
Lines(
Contains(" D").Contains("file-a").IsSelected(),
Contains(" D").Contains("file-b"),
).
// Stage a single deleted file
PressPrimaryAction().
Lines(
Contains("D ").Contains("file-a").IsSelected(),
Contains(" D").Contains("file-b"),
).
Press(keys.Universal.ToggleRangeSelect).
NavigateToLine(Contains("file-b")).
// Stage both files while a deleted file is already staged
PressPrimaryAction().
Lines(
Contains("D ").Contains("file-a").IsSelected(),
Contains("D ").Contains("file-b").IsSelected(),
).
// Unstage; back to everything being unstaged
PressPrimaryAction().
Lines(
Contains(" D").Contains("file-a").IsSelected(),
Contains(" D").Contains("file-b").IsSelected(),
)
},
})

View File

@ -163,6 +163,7 @@ var tests = []*components.IntegrationTest{
file.RememberCommitMessageAfterFail,
file.RenameSimilarityThresholdChange,
file.StageChildrenRangeSelect,
file.StageDeletedRangeSelect,
file.StageRangeSelect,
filter_and_search.FilterCommitFiles,
filter_and_search.FilterFiles,