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:
Stefan Haller
2026-07-28 18:04:35 +02:00
parent 292035709f
commit 6a022241d2
2 changed files with 60 additions and 0 deletions
@@ -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"),
)
},
})
+1
View 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,