1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
|
package patch_building
import (
"github.com/jesseduffield/lazygit/pkg/config"
. "github.com/jesseduffield/lazygit/pkg/integration/components"
)
var ToggleRange = NewIntegrationTest(NewIntegrationTestArgs{
Description: "Check multi select toggle logic",
ExtraCmdArgs: []string{},
Skip: false,
SetupConfig: func(config *config.AppConfig) {},
SetupRepo: func(shell *Shell) {
shell.CreateDir("dir1")
shell.CreateFileAndAdd("dir1/file1-a", "d2f1 first line\nsecond line\nthird line\n")
shell.CreateFileAndAdd("dir1/file2-a", "d1f2 first line\n")
shell.CreateFileAndAdd("dir1/file3-a", "d1f3 first line\n")
shell.CreateDir("dir2")
shell.CreateFileAndAdd("dir2/file1-b", "d2f1 first line\nsecond line\nthird line\n")
shell.CreateFileAndAdd("dir2/file2-b", "d2f2 first line\n")
shell.CreateFileAndAdd("dir2/file3-b", "d2f3 first line\nsecond line\n")
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(" ▼ dir1"),
Equals(" A file1-a"),
Equals(" A file2-a"),
Equals(" A file3-a"),
Equals(" ▼ dir2"),
Equals(" A file1-b"),
Equals(" A file2-b"),
Equals(" A file3-b"),
).
NavigateToLine(Contains("file1-a")).
Press(keys.Universal.ToggleRangeSelect).
NavigateToLine(Contains("file3-a")).
PressPrimaryAction().
Lines(
Equals("▼ /"),
Equals(" ▼ dir1"),
Equals(" ● file1-a").IsSelected(),
Equals(" ● file2-a").IsSelected(),
Equals(" ● file3-a").IsSelected(),
Equals(" ▼ dir2"),
Equals(" A file1-b"),
Equals(" A file2-b"),
Equals(" A file3-b"),
).
PressEscape().
NavigateToLine(Contains("file3-b")).
PressEnter()
t.Views().Main().IsFocused().
NavigateToLine(Contains("second line")).
PressPrimaryAction().
PressEscape()
t.Views().CommitFiles().
IsFocused().
Lines(
Equals("▼ /"),
Equals(" ▼ dir1"),
Equals(" ● file1-a"),
Equals(" ● file2-a"),
Equals(" ● file3-a"),
Equals(" ▼ dir2"),
Equals(" A file1-b"),
Equals(" A file2-b"),
Equals(" ◐ file3-b").IsSelected(),
).
NavigateToLine(Contains("dir1")).
Press(keys.Universal.ToggleRangeSelect).
NavigateToLine(Contains("dir2")).
PressPrimaryAction().
Lines(
Equals("▼ /"),
Equals(" ▼ dir1").IsSelected(),
Equals(" ● file1-a").IsSelected(),
Equals(" ● file2-a").IsSelected(),
Equals(" ● file3-a").IsSelected(),
Equals(" ▼ dir2").IsSelected(),
Equals(" ● file1-b"),
Equals(" ● file2-b"),
Equals(" ● file3-b"),
).
PressPrimaryAction().
Lines(
Equals("▼ /"),
Equals(" ▼ dir1").IsSelected(),
Equals(" A file1-a").IsSelected(),
Equals(" A file2-a").IsSelected(),
Equals(" A file3-a").IsSelected(),
Equals(" ▼ dir2").IsSelected(),
Equals(" A file1-b"),
Equals(" A file2-b"),
Equals(" A file3-b"),
)
},
})
|