/
githubmirror
/
lazygit
Обзор
Документация
Войти
/
githubmirror
/
lazygit
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
pkg/integration/tests/custom_commands/selected_commit.go
67 строк
2 KB
Stefan Haller
Make integration tests using commits more robust
09 июл 2026, 12:56
09 июл 2026, 12:56
d181615
Код
Авторство
О чём код?
package custom_commands import ( "github.com/jesseduffield/lazygit/pkg/config" . "github.com/jesseduffield/lazygit/pkg/integration/components" ) var SelectedCommit = NewIntegrationTest(NewIntegrationTestArgs{ Description: "Use the {{ .SelectedCommit }} template variable in different contexts", ExtraCmdArgs: []string{}, Skip: false, SetupRepo: func(shell *Shell) { shell.CreateNCommits(3) }, SetupConfig: func(cfg *config.AppConfig) { cfg.GetUserConfig().CustomCommands = []config.CustomCommand{ { Key: config.Keybinding{"X"}, Context: "global", Command: "printf '%s' '{{ .SelectedCommit.Name }}' > file.txt", }, } }, Run: func(t *TestDriver, keys config.KeybindingConfig) { // Select different commits in each of the commit views t.Views().Commits().Focus(). NavigateToLine(Contains("commit-01")) t.Views().ReflogCommits().Focus(). NavigateToLine(Contains("commit-02")) t.Views().Branches().Focus(). Lines(Contains("master").IsSelected()). PressEnter() t.Views().SubCommits().IsFocused(). NavigateToLine(Contains("commit-03")) // SubCommits t.GlobalPress(config.Keybinding{"X"}) t.FileSystem().FileContent("file.txt", Equals("commit-03")) t.Views().SubCommits().PressEnter() t.GlobalPress(config.Keybinding{"X"}) t.FileSystem().FileContent("file.txt", Equals("commit-03")) // ReflogCommits t.Views().ReflogCommits().Focus() t.GlobalPress(config.Keybinding{"X"}) t.FileSystem().FileContent("file.txt", Equals("commit: commit-02")) t.Views().ReflogCommits().PressEnter() t.GlobalPress(config.Keybinding{"X"}) t.FileSystem().FileContent("file.txt", Equals("commit: commit-02")) // LocalCommits t.Views().Commits().Focus() t.GlobalPress(config.Keybinding{"X"}) t.FileSystem().FileContent("file.txt", Equals("commit-01")) t.Views().Commits().PressEnter() t.GlobalPress(config.Keybinding{"X"}) t.FileSystem().FileContent("file.txt", Equals("commit-01")) // None of these t.Views().Files().Focus() t.GlobalPress(config.Keybinding{"X"}) t.FileSystem().FileContent("file.txt", Equals("commit-01")) }, })