Support multiple contexts within one command, add tests, update doc

This commit is contained in:
Yam Liu
2024-07-27 16:40:41 +00:00
committed by Stefan Haller
parent 206b2c6f0b
commit 542030f190
5 changed files with 93 additions and 18 deletions

View File

@@ -0,0 +1,58 @@
package custom_commands
import (
"github.com/jesseduffield/lazygit/pkg/config"
. "github.com/jesseduffield/lazygit/pkg/integration/components"
)
var MultipleContexts = NewIntegrationTest(NewIntegrationTestArgs{
Description: "Test that multiple contexts works",
ExtraCmdArgs: []string{},
Skip: false,
SetupRepo: func(shell *Shell) {
shell.EmptyCommit("my change")
},
SetupConfig: func(cfg *config.AppConfig) {
cfg.UserConfig.CustomCommands = []config.CustomCommand{
{
Key: "X",
Context: "commits, reflogCommits",
Command: "touch myfile",
ShowOutput: false,
},
}
},
Run: func(t *TestDriver, keys config.KeybindingConfig) {
// commits
t.Views().Commits().
Focus().
Press("X")
t.Views().Files().
Focus().
Lines(Contains("myfile"))
t.Shell().DeleteFile("myfile")
t.GlobalPress(keys.Files.RefreshFiles)
// branches
t.Views().Branches().
Focus().
Press("X")
t.Views().Files().
Focus().
IsEmpty()
// files
t.Views().ReflogCommits().
Focus().
Press("X")
t.Views().Files().
Focus().
Lines(Contains("myfile"))
t.Shell().DeleteFile("myfile")
},
})

View File

@@ -126,6 +126,7 @@ var tests = []*components.IntegrationTest{
custom_commands.History,
custom_commands.MenuFromCommand,
custom_commands.MenuFromCommandsOutput,
custom_commands.MultipleContexts,
custom_commands.MultiplePrompts,
custom_commands.OmitFromHistory,
custom_commands.ShowOutputInPanel,