mirror of
https://github.com/jesseduffield/lazygit.git
synced 2026-08-24 10:13:41 -05:00
Add test to demonstrate a problem with custom patches and directories sharing a prefix
We had the same bug in the files panel, and fixed it in a5eec48b4b, but
forgot to make the equivalent change to the commit files panel.
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
package patch_building
|
||||
|
||||
import (
|
||||
"github.com/jesseduffield/lazygit/pkg/config"
|
||||
. "github.com/jesseduffield/lazygit/pkg/integration/components"
|
||||
)
|
||||
|
||||
var SelectDirecoriesSharingPrefix = NewIntegrationTest(NewIntegrationTestArgs{
|
||||
Description: "Select directories sharing a prefix in the commit files view and add them to a custom patch",
|
||||
ExtraCmdArgs: []string{},
|
||||
Skip: false,
|
||||
SetupConfig: func(config *config.AppConfig) {},
|
||||
SetupRepo: func(shell *Shell) {
|
||||
shell.CreateFileAndAdd("foo/file", "file1 content")
|
||||
shell.CreateFileAndAdd("foobar/file", "file2 content")
|
||||
shell.Commit("first commit")
|
||||
},
|
||||
Run: func(t *TestDriver, keys config.KeybindingConfig) {
|
||||
t.Views().Commits().
|
||||
Focus().
|
||||
Lines(
|
||||
Contains("first commit").IsSelected(),
|
||||
).
|
||||
PressEnter()
|
||||
|
||||
t.Views().CommitFiles().
|
||||
IsFocused().
|
||||
Lines(
|
||||
Equals("▼ /").IsSelected(),
|
||||
Equals(" ▼ foo"),
|
||||
Equals(" A file"),
|
||||
Equals(" ▼ foobar"),
|
||||
Equals(" A file"),
|
||||
).
|
||||
SelectNextItem().
|
||||
Press(keys.Universal.ToggleRangeSelect).
|
||||
NavigateToLine(Contains("foobar")).
|
||||
PressPrimaryAction().
|
||||
Lines(
|
||||
Equals("▼ /"),
|
||||
Equals(" ▼ foo").IsSelected(),
|
||||
Equals(" ● file").IsSelected(),
|
||||
Equals(" ▼ foobar").IsSelected(),
|
||||
/* EXPECTED:
|
||||
Equals(" ● file"),
|
||||
ACTUAL: */
|
||||
Equals(" A file"),
|
||||
)
|
||||
|
||||
t.Views().Information().Content(Contains("Building patch"))
|
||||
|
||||
t.Views().Secondary().Content(
|
||||
/* EXPECTED:
|
||||
Contains("foo/file").Contains("foobar/file"),
|
||||
ACTUAL: */
|
||||
Contains("foo/file").DoesNotContain("foobar/file"),
|
||||
)
|
||||
},
|
||||
})
|
||||
@@ -382,6 +382,7 @@ var tests = []*components.IntegrationTest{
|
||||
patch_building.RenamedFileWhole,
|
||||
patch_building.ResetWithEscape,
|
||||
patch_building.SelectAllFiles,
|
||||
patch_building.SelectDirecoriesSharingPrefix,
|
||||
patch_building.SpecificSelection,
|
||||
patch_building.StartNewPatch,
|
||||
patch_building.ToggleDirectory,
|
||||
|
||||
Reference in New Issue
Block a user